字符分类
题目描述:从键盘上输入一个字符串,将该字符串分为数字、字母、其他字符三个部分输出。
输入描述:输入一串字符串,长度不超过100。
输出描述:按题意输出。
C语言代码
#include <stdio.h>
#include <string.h>
int main()
{
char s[100],zimu[100],shuzi[100],zifu[100];
scanf("%s",s);
int len=strlen(s);
int a=0,b=0,c=0;
for(int i=0;i<len;i++)
{
if((s[i]>=65&&s[i]<=90)||(s[i]>=97&&s[i]<=122))
{zimu[a]=s[i];a++;}
else if(s[i]>=48&&s[i]<=57) {shuzi[b]=s[i];b++;}
else {zifu[c]=s[i];c++;}
}
printf("%s\n%s\n%s\n",zimu,shuzi,zifu);
return 0;
}
发现情况:在VS2017中出现“烫烫”,因为最后没有加上’\0’,总共输出了整个数组的字符。但平台并未报错,可在VS2017中加入一句"zimu[a] = ‘\0’; shuzi[b] = ‘\0’; zifu[c] = ‘\0’;"。