900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 将一句话的单词进行倒置 标点不倒置

将一句话的单词进行倒置 标点不倒置

时间:2024-01-28 03:30:24

相关推荐

将一句话的单词进行倒置 标点不倒置

题目:将一句话的单词进行倒置,标点不倒置。比如 I like beijing. 经过函数后变为:beijing. like I

输入描述:

每个测试输入包含1个测试用例: I like beijing. 输入用例长度不超过100

输出描述:

依次输出倒置之后的字符串,以空格分割

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <string.h>void reverse(char* left, char* right){while (left < right){char tmp = *left;*left = *right;*right = tmp;left++;right--;}}void reverseword(char* str){int len = strlen(str);if (len <= 1)return;//整体逆置reverse(str, str + len - 1);//按照单词进行局部逆置char* cur = str;while (*cur){//查找单词的边界:空格或者'\0'char* start = cur;while (*cur != ' '&&*cur != '\0')++cur;//当前单词的区间:[start,cur)//逆转单词reverse(start, cur - 1);//查找下一个单词的区间++cur;}}void test(){char str[101] = {0 };gets(str);reverseword(str);//reverse(str, str + strlen(str) - 1);printf("%s\n", str);}int main(){test();return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。