首页 > 学院 > 开发设计 > 正文

字符串空格的压缩:给定一个字符串,将其中连续出现的空格压缩为1个后,将其中已空格分隔的每个字符串逆序打印出来

2019-11-06 08:35:21
字体:
来源:转载
供稿:网友
#include <stdio.h>#include <stdlib.h>#include <string.h>/*题目:字符串空格的压缩:给定一个字符串,将其中连续出现的空格压缩为1个后,将其中已空格分隔的每个字符串逆序打印出来。 总体思想是用二维数组将每一被空格分隔的字符串拿出来; 之后用一个count记录空格个数即可,对空格个数为1的特殊处理;多余空格忽略即可*/void reverseStr(char str[],int left,int right){ while(left<right){ char temp=str[left]; str[left]=str[right]; str[right]=temp; left++; right--; }}int main(){ char str[99]="abc djksa eio"; char ans[99][99]={{0}}; int m=0,n=0; int count=0;//临时记录每个间隔空格个数 int strLength=strlen(str); for(int i=0;i<strLength;++i){ if(str[i]!=' '){ count=0; ans[m][n]=str[i]; n++; } else{ count++; if(count==1){ ans[m][n]='/0'; m++; n=0;//关键,易忘 } } } for(int p=0;p<=m;++p){ int ansLength=strlen(ans[p]); reverseStr(ans[p],0,ansLength-1); PRintf("%s ",ans[p]); } return 0;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表