【字符串操作】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;	
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值