Zmj大佬喜欢上了说反话,这导致和其他同学沟通起来非常困难,便请来czh充当临时翻译,他们来的新班级介绍自己 zmj大佬:“zmj am I” czh翻译:“I am zmj” zmj大佬:“C is language favorite My” czh翻译:“…” 哦天呀,zmj大佬一次说出了太多反话,czh翻译不出来了,大家快来帮助帮助他翻译zmj大佬的话
输入格式:
输入仅一行,为长度小于100的字符串。
输出格式:
每个测试用例的输出占一行,输出倒序后的句子。
输入样例:
在这里给出一组输入。例如:
zmj am I
结尾无空行
输出样例:
在这里给出相应的输出。例如:
I am zmj
结尾无空行
#include<stdio.h>
#include<string.h>
int main()
{//本题在纸上演草更快
int i=0,len,a[20],k=0,j=1;
char s[200];
gets(s);
len=strlen(s);
a[0]=len;
for(i=len-1;i>=0;i--)
{
if(s[i]==' ')//除第一个单词外,遇到空格即输出这个单词
{
for(j=i+1;j<a[k];j++)
{
printf("%c",s[j]);
}
k++;
a[k]=i;//记录下个单词的末尾
printf(" ");//输出空格
}
else if(i==0)
{
for(j=i;j<a[k];j++)
{
printf("%c",s[j]);
}
}
}
printf("\n");
}
又看到另外一个解法
#include<stdio.h>
#include<string.h>
int main()
{
char a[100],b[100][100];//数组b用于存放单词
gets(a);
int i,m=0,n=0;
for(i=0; a[i]!='\0'; i++)
{
if(a[i]==' ')
{
m++;
n=0;
continue;
}
else
{
b[m][n]=a[i];
n++;
}
}
for(m; m>=0; m--)//倒叙输出单词
{
printf("%s",b[m]);
if(m>=1)
printf(" ");
}
}