将一句话中的单词倒置,标点符号不倒置。例如:I am from China!
发布时间:2020-12-14 02:09:54 所属栏目:百科 来源:网络整理
导读:这道题可分为两步:第一步将整个字符串全部倒置:!anihC morf ma I 第二步部分倒置,如果不是空格,则倒置单词 #include stdio.h#include string.hint main(){int i = 0,j = 0;int begin = 0,end = 0;char str[] = "I am from China!",tmp;//char tmp;printf
这道题可分为两步:第一步将整个字符串全部倒置:!anihC morf ma I 第二步部分倒置,如果不是空格,则倒置单词
#include <stdio.h> #include <string.h> int main() { int i = 0,j = 0; int begin = 0,end = 0; char str[] = "I am from China!",tmp; //char tmp; printf("--1--:str = %sn",str); //第一步:全部翻转 j = strlen(str) - 1; while(j > i) { tmp = str[i]; str[i] = str[j]; str[j] = tmp; j--; i++; } printf("--2--:str = %sn",str); //第二步:将每个空格隔开的单词翻转 i = 0; //i = 0不能丢,要从头开始 while(str[i]) { if(str[i] != ' ') { begin = i; while(str[i] && str[i] != ' ') { i++; } i = i - 1; end = i; } while(end > begin) { tmp = str[begin]; str[begin] = str[end]; str[end] = tmp; end--; begin++; } i++; } printf("--3--:str = %sn",str); return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |