View Code of Problem 114

#include<stdio.h>
#include <string.h>
int main(){
	char a[100];
	int flag = 0, i;
	while(gets(a)!=NULL){
		int len = strlen(a);
		for(i = 0; i < len; i++){
			if((a[i]>='a' && a[i]<='z') || (a[i]>='A' && a[i]<='Z')){
				flag = i;  //此时的flag保存的是一个单词的起点位置 
				while((a[i+1]>='a' && a[i+1]<='z') || (a[i+1]>='A' && a[i+1]<='Z')){
					i++; //i不断后移 ,寻找单词的终点位置 
				}
		
				for(int j = i; j >= flag; j--){   //此时的j保存的是一个单词的终点位置 
					printf("%c",a[j]);
				}
			}else{
				printf("%c",a[i]);  //其他字符顺序不变,所以可以直接输出 
			}
		}
		printf("\n"); //这里的换行符不可以漏掉,否则格式不对 
	}
	return 0;
} 

Double click to view unformatted code.


Back to problem 114