C语言编程例题(中等)——句子逆序
将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”
所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
void IWord(char *p,int len){
int word = 0;
char *h = p;
p = p + len-1;
while (p-h>=0){
if (*p!=' '&&p!=h){
word++;
}
else if(*p==' '){
for (int i = 1; i <= word;++i){
printf("%c",*(p+i));
}
printf(" ");
word = 0;
}
else if (p==h){
for (int i = 0; i <= word; ++i){
printf("%c", *(p + i));
}
printf("\n");
}
p--;
}
}
int main(){
char arr[50000];
gets(arr);
int len = strlen(arr);
IWord(arr,len);
return 0;
}