本文主要是介绍逆转句子中的单词,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 描述
输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。
为简单起见,标点符号和普通字母一样处理。
2. 思路
方法和数组循环移位的思想是差不多的。
代码如下:
void transfer(char *words)
{char *p, *q, temp;char *w = words;while (*w) {for (p = w; *w != ' ' && *w; w++) continue;for (q = w - 1; p < q; ++p, --q) { //逆转每个单词temp = *p;*p = *q;*q = temp;}// forif ( ! *w) break;w++;}// whilefor (p = words, q = words + strlen(words) - 1; p < q; ++p, --q) //逆转句子中的每个字符{temp = *p;*p = *q;*q = temp;}}
这篇关于逆转句子中的单词的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!