输入一个字符串,要求按照字符串内容分类,字母放在字符数组a中,数字放在字符数组b中,其他符号放在e中打印出来。
3条回答 默认 最新
技术专家团-小桥流水 2021-12-14 16:21关注定义几个数组char buf[100],a[100],b[100],e[100];
用buf接收字符串,然后遍历字符串就是了
代码如下:
#include <stdio.h> int main() { char buf[100],a[100],b[100],e[100]; int i=0; int na = 0,nb=0,ne=0; gets(buf); while(buf[i]) { if(buf[i]>='a' && buf[i]<='z') a[na++] = buf[i]; else if(buf[i]>='A' && buf[i]<='Z') a[na++] = buf[i]; else if(buf[i]>='0' && buf[i]<='9') b[nb++]=buf[i]; else e[ne++] = buf[i]; i++; } a[na]=0; b[nb]=0; e[ne]=0; printf("字母:%s\n",a); printf("数字:%s\n",b); printf("其它:%s\n",e); return 0; }用指针的话:
#include <stdio.h> int main() { char buf[100],a[100],b[100],e[100]; char* p=buf; int i=0; int na = 0,nb=0,ne=0; gets(buf); while(*p != '\0') { if(*p>='a' && *p<='z') a[na++] = *p; else if(*p>='A' && *p<='Z') a[na++] = *p; else if(*p>='0' && *p<='9') b[nb++]=*p; else e[ne++] = *p; p++; } a[na]=0; b[nb]=0; e[ne]=0; printf("字母:%s\n",a); printf("数字:%s\n",b); printf("其它:%s\n",e); return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报 编辑记录解决 1无用