输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数.(C语言)
我是这样写的:#include<stdio.h>voidmain(){chara[50];intletter=0,number=0,blank=0,other=0,i;g...
我是这样写的:
#include<stdio.h>
void main()
{
char a[50];
int letter=0,number=0,blank=0,other=0,i;
gets(a);
for(i=0;i<50;i++)
{
if((a[i]>='A'&&a[i]<='Z')||(a[i]>='a'&&a[i]<='z'))
letter++;
else if(a[i]>='0'&&a[i]<='9')
number++;
else if(a[i]==' ')
blank++;
else other++;
}
printf("letter=%d,number=%d,blank=%d,other=%d",letter,number,blank,other);
}
我默认输入的字符串是小于50个字符的,问题出在其他字符(other)这里,比如我输入了15个英文字母,他就默认a这个数组里面剩下的35个为其他字符了,有什么方法可以解决么?其他的都是正确的,就这里出了问题。。。 展开
#include<stdio.h>
void main()
{
char a[50];
int letter=0,number=0,blank=0,other=0,i;
gets(a);
for(i=0;i<50;i++)
{
if((a[i]>='A'&&a[i]<='Z')||(a[i]>='a'&&a[i]<='z'))
letter++;
else if(a[i]>='0'&&a[i]<='9')
number++;
else if(a[i]==' ')
blank++;
else other++;
}
printf("letter=%d,number=%d,blank=%d,other=%d",letter,number,blank,other);
}
我默认输入的字符串是小于50个字符的,问题出在其他字符(other)这里,比如我输入了15个英文字母,他就默认a这个数组里面剩下的35个为其他字符了,有什么方法可以解决么?其他的都是正确的,就这里出了问题。。。 展开
11个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询