=a;p--){if(*p==' '){x=(--p); for(w=++p;;w++){printf("%c",*w);if(*w=='!'||*w==' ')p==x;}}}}while(p==a); printf("%c", ch);}" /> =a;p--){if(*p==' '){x=(--p); for(w=++p;;w++){printf("%c",*w);if(*w=='!'||*w==' ')p==x;}}}}while(p==a); printf("%c", ch);} - 作业答案大全" />

我想写这样一个程序,例如输入的是:ni hao wo ai ni!但是输出的是ni ai wo hao ni!意思是:输出的句子反向,但单词不反向.以下是我的代码(存在问题):#include#define N 100int main(){char ch, a[N], *p, *w = a[N],*x=a[N];printf("Enter a sentence: ");for (p = a; p {scanf("%c", p);if (*p == '\n')break;}printf("Reversal of sentence: "); ch = *(--p);do{for(--p;p>=a;p--){if(*p==' '){x=(--p); for(w=++p;;w++){printf("%c",*w);if(*w=='!'||*w==' ')p==x;}}}}while(p==a); printf("%c", ch);}

问题描述:

我想写这样一个程序,例如输入的是:ni hao wo ai ni!但是输出的是ni ai wo hao ni!
意思是:输出的句子反向,但单词不反向.
以下是我的代码(存在问题):
#include
#define N 100
int main()
{char ch, a[N], *p, *w = a[N],*x=a[N];
printf("Enter a sentence: ");
for (p = a; p {scanf("%c", p);
if (*p == '\n')
break;}
printf("Reversal of sentence: ");
ch = *(--p);
do{
for(--p;p>=a;p--)
{if(*p==' ')
{x=(--p);
for(w=++p;;w++)
{printf("%c",*w);
if(*w=='!'||*w==' ')
p==x;}}}
}while(p==a);
printf("%c", ch);
}
希望你帮我修改一下,帮我写个参考也行,谢谢!

1 #include
2 #include
3 void myReverse(char*,char*);
4 char * Reverse(char*);
5 int main()
6 {
7 char a[]=" I am a student!";
8 char *s=Reverse(a);
9 printf("%s",s);
10 return 0;
11 }
12 void myReverse(char *start,char *end)
13 {
14 char temp;
15 while(start