7-1 单词翻转分数 10

7-1 单词翻转

分数 10

作者 于延

单位 哈尔滨师范大学

问题描述

输入一个句子(一行),将句子中的每一个单词翻转后输出。

输入描述

只有一行,为一个字符串,不超过500个字符。单词之间以空格隔开。

输出描述

翻转每一个单词后的字符串,单词之间的空格需与原文一致。

样例输入

hello world

样例输出

olleh dlrow

样例输入

li   hai   la      wo   de      guo

样例输出

il   iah   al      ow   ed      oug
#include
#include
void revese(char* s, int front, int back)
{
	while (front < back)
	{
		char tmp;
		tmp = s[front];
		s[front] = s[back];
		s[back] = tmp;
		front++;
		back--;
	}
}
int main()
{
	int l = 0;
	char s[501];
	gets(s);
	int len = strlen(s);
	for (int i = 0; i < len; i++)
	{		
		if (s[i] == ' ')
		{			
			revese(s, l, i - 1);
			l=i+1;
		}
		
	}
	revese(s, l, len - 1);//反转最后一个单词
	puts(s);
	return 0;
}

 

你可能感兴趣的:(算法)