手机网站与app的区别,wordpress网站图片迁移,设计效果图怎么收费,网站域名服务器1 题目
输入一个英文橘子#xff0c;翻转句子中的单词顺序#xff0c;但是单词内字符串的顺序不变#xff0c;简单起见#xff0c;标点符号和普通字符字母一样处理#xff0c;例如输入字符串I am a student.,则输出student. a am I 2 思路
先…1 题目
输入一个英文橘子翻转句子中的单词顺序但是单词内字符串的顺序不变简单起见标点符号和普通字符字母一样处理例如输入字符串I am a student.,则输出student. a am I 2 思路
先反转字符串所有然后在反转里面的单词我们用两个首尾指针操作 3 代码实现
#include stdio.h/** 反转整个字符串*/
void reverse(char *begin, char *end)
{if (NULL begin || NULL end)return;while (begin end){char temp *end;*end *begin;*begin temp;begin;--end;}
}/** 反转字符串里面的单词*/
char* reverseNumeber(char *str)
{if (NULL str){return NULL;}char *begin str;char *end str;while (*end ! \0){end;}--end;//反转整个字符串reverse(begin, end);//再反转里面的单词begin end str;while (*begin ! \0){if (*begin ){begin;end;}else if (*end || *end \0){//如果这里是用reverse(begin, end--)//那么我们用 和前面的指针替换有问题。reverse(begin, --end);begin end;}else{end;}}return str;
}int main()
{char a[] chenyu word hello;char *result NULL;result reverseNumeber(a);if (NULL result){printf(result is NULL\n);}else{printf(%s\n, result);}return 0;
}4 运行结果
hello word chenyu