C语言把一个字符串中的单词逆序(难)
Input:
输入有包括多组数据。每组数据包括一行字符串。
Output:
输出加密后的字符串。
Sample Input:
I Love You
Sample Output:
I evoL uoY
解析:利用数组计数,把非空格的字符记下来,空格代表一个间断,经过空格后计数要重新开始
完整代码:
#include <stdio.h> #include <string.h> void main() { int i,j,k; char a[1000]; while(gets(a) != NULL) { int l=strlen(a); for(i=0;i<l;i++) { k=0; if(a[i]>=‘a‘ && a[i]<=‘z‘ || a[i]>=‘A‘ && a[i]<=‘Z‘) { for(j=i;j<l;j++) { if(a[j]>=‘a‘ && a[j]<=‘z‘ || a[j]>=‘A‘ && a[j]<=‘Z‘) { k++; }else { break; } } int t; for(t=i+k-1;t>=i;t--) { printf("%c",a[t]); } i=i+k-1; }else { printf("%c",a[i]); } } printf("\n"); } }