基本思路:
以空格为分割标志,将字符串中的单词分割出来,再将该单词进行逆序。
话不多说,小二给我上一斤代码,不加bug
#include<stdio.h>
#include<string.h>
char *f(char *p);
//使用指针函数,可对字符串数组中的字符进行相应操作,并返回被操作后的字符串;
int main(){
int a;
char s[201];
char s1[201]; //储存分割出来单词
gets(s);
a=strlen(s);
int i=0,j=0;
while(s[j]!=’\0’){
i=0;
//下面将进行单词分割
while(s[j]!=’ ‘&&s[j]!=’\0’){
s1[i]=s[j];
i++;
j++;
}
s1[i]=’\0’; //不加这行,程序也许会出错 。
if(j<=a) {
printf("%s “,f(s1));
}
else {
printf(”%s\n",f(s1));
}
j++;
if(j>a) break; //纯属个人对字符串数组溢出导致程序错误的恐惧!!!
}
return 0;
}
//字符串逆序函数
char *f(char *p){
int b,i;
char ch;
b=strlen(p);
for(i=0;i<b/2;i++){
ch=p[i];
p[i]=p[b-i-1];
p[b-i-1]=ch;
}
return p;
}