
#include <stdio.h>
#define N 40
int main(){
//输入句子
char ch,sentence[N],fin;
int i;
for(i=0;i<N;i++){
ch = getchar();
if(ch=='.'||ch=='!'||ch=='\?'){
fin=ch;
break;
}
sentence[i] = ch;
}
sentence[i] =fin; //把终止字符存入句子最后一位
//自减i寻找每个单词开始处
int end,sta; //每个单词起终点,起点是首字母前一位,终点即最后一个字母位置
end = i-1; //end初始化最后一个单词末尾字母位置
while(1){
i = end; //i由end处自减
while( sentence[i]!=' '){
i--;
if(i==-1) //下标越界,句子遍历完成
break;
}
sta = i; // 搜寻到单词开始处的前一个位置
//输出单词
for(i = sta+1 ;i <= end ;i++ ){
printf("%c" ,sentence[i]);
}
if(sta != -1) //输出单词间的空格
printf(" ");
if(sta == -1){ //输出终止字符
printf("%c",fin);
break;
}
end = sta-1; //重定end位置
}
}