前端之家收集整理的这篇文章主要介绍了
【字符串操作】13.将一句话单词进行倒置,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
/**将一句话的单词进行倒置,标点符号不倒换。
*比如:“I am a boy.”,输出“boy. a am I”。
*/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define SIZE 100
void func(char* input)
{
int i;
char temp;
int begin,end;
int n=strlen(input);
//第一次进行倒序输出
for(i=0;i<n/2;i++)
{
temp=input[i];
input[i]=input[n-i-1];
input[n-i-1]=temp;
}
printf("Reverse string is:%s\n",input);
i=0;
while(input[i]!='\0')
{
//单词内部调整顺序
if(input[i]!=' ')
{
begin=i;
while(input[i]!=' ' && input[i]!='\0')
i++;
i=i-1;
end=i;
while(begin<end)
{
temp=input[begin];
input[begin]=input[end];
input[end]=temp;
end--;
begin++;
}
}
i++;//继续循环
}
}
int main(void)
{
char input[SIZE];
printf("Please enter a string:");
gets(input);
func(input);
printf("The result string is:%s\n",input);
system("pause");//如果不加这一句的话,运行exe文件的时候只会一闪而过!!!
return 0;
}
原文链接:https://www.f2er.com/javaschema/286020.html