【字符串操作】13.将一句话单词进行倒置

前端之家收集整理的这篇文章主要介绍了【字符串操作】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

猜你在找的设计模式相关文章