例如输入: Grace loves China! 输出为 China loves Grace!
#include<stdio.h>
int main()
{
char sentence[100];
int end, flag=0;
printf("Enter a sentence(please end with ? or . or ! ):");
gets_s(sentence);
for (int i = 0;i < 100;i++) {
if ((sentence[i] == '?' )|| (sentence[i] == '.') || (sentence[i] == '!') )
flag = i; //标记句号的位置
}
end = flag;
for (int i = flag; i >= 0 ; i--) //从后往前遍历这句话
{
if (sentence[i] == ' ') //标记空格的位置
{
for (int j = i + 1; j < flag; j++)
{
printf("%c", sentence[j]);
}
flag = i;
printf(" "); //打印空格
}
if (i == 0)
{ //打印第一个词
for (int j = 0; j < flag; j++)
{
printf("%c", sentence[j]);
}
}
}
printf("%c", sentence[end]); //打印标点
}
程序结果测试如下:
PS. 转载请声明