C语言:输入一行字符,分别统计出其中的大写英文字母、小写英文字母、数字和其他字符的个数

2024年12月13日 09:33
有2个网友回答
网友(1):

语法错误:
printf("其中大戚皮写字母%d个,小激枯写字母%d个,数字%d个,其他字符%d个\n",dx,xx,shuzi,qita);
dx后面的逗号不是英文的。算法也有错误:你判断的时候if(all[i]>'a'&&all[i]<'z'||all[i]>'A'&&all[i]<'Z')
应该把>都改成>=,<也一样,不改的话a、A、z、Z的判断将被划在其他类里,数字的判断也应该是大于等于,小于等于,改完后代码为:
#include
#define N 100
main()
{
char all[N];
int i,xx=0,shuzi=0,qita=0,dx=0;
printf("请输入一个字符串(不超过高铅差100个):");
gets(all);
for(i=0;all[i];i++)
{
if(all[i]>='a'&&all[i]<='z'||all[i]>='A'&&all[i]<='Z')
if(all[i]>='A'&&all[i]<='Z')
dx++;
else
xx++;
else
if(all[i]>='0'&&all[i]<='9')
shuzi++;
else
qita++;
}
printf("其中大写字母%d个,小写字母%d个,数字%d个,其他字符%d个\n",dx,xx,shuzi,qita);
}

网友(2):

把gets(all);这句改成
char c;
int i=0;
while((c=getchar())!='腊激弊\n')
{
if(i}
这轮族铅山样应该就好了