题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。
句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。
例如输入“I am a student.”,则输出“student. a am I”。
解题思想:用额外的空间来存储被空格隔开的字符串,然后倒序输出即为所求。。。。
#include <stdio.h>
#include <string.h>
int main()
{
char arr[100],reslt[50][20];
int i,j,k,len,t;
char tmp[20];
gets(arr);
len=strlen(arr);
for(i=0,j=0,k=0;k<len;k++)
{
if(arr[k]==' ')
{
reslt[i][j]='\0';
i++;j=0;
}
else
{
reslt[i][j++]=arr[k];
}
}
reslt[i][j]='\0';
for(t=i;t>=0;t--)
if(t==i) printf("%s",reslt[t]);
else printf(" %s",reslt[t]);
printf("\n\n");
return 0;
}