输入一个字符串,要求按照字符串内容分类,字母放在字符数组a中,数字放在字符数组b中,其他符号放在e中打印出来。
定义几个数组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;
}
分类的标准是什么? 字母数字混合的字符串算什么?
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!