C语言问题,紧!!!!

来源:百度知道 编辑:UC知道 时间:2024/09/22 04:05:53
实现:
hello world i am jack
变成
olleh dlrow i ma kcaj

就是把每个单词的字母顺序倒过来,但是整句话中单词的位置不变.
我也知道用数组,但是我没学过C,麻烦写出完整答案

#include <stdio.h>
#include <string.h>
void main()
{
char ch[30];
int i=0,j,k=0,len,tage;
gets(ch); //输入你要的东西
len=strlen(ch);
while(1)
{

while(1)
{
if(ch[i]==' ')
{

break;
}
else if(i==len)
{
tage=1;
break;
}
else
{
i++;
}
}
i--;
for(j=i;j>=k;j--)
{
printf("%c",ch[j]);
}
printf(" ");
if(tage==1)
break;
else
{
i+=2;
k=i;
}
}
}

用一个c库函数strrev()就解决了,strrev()就是反序输出输入的字符串,任何字符皆可。
本题一个完整的c程序如下,win-tc和Dev-c++下运行通过。
#include <stdio.h>
#include <string.h>
int main(void)
{
char s[201];/*设定输入一行不超过200字符*/
printf("Please input a string:\n");
gets(s);
prin