C语言。统计字符串字数并计算各类字符占总字符数的比例。
如图,显然不对,请问是什么地方出了问题?
#include<stdio.h>
#include<string.h>
int main()
{
char ch[80];
int lc,sc,dc,n;
lc=sc=dc=0;
gets(ch);
n = strlen(ch);
for(int i = 0;ch[i]!='\n';i++)
{
if(ch[i]>='A'&&ch[i]<='Z')
lc++;
if(ch[i]>='a'&&ch[i]<='z')
sc++;
if(ch[i]>='0'&&ch[i]<='9')
dc++;
}
printf("共%d个字符\n其中%d个大写字母\n %d个小写字母\n %d个数字\n",n,lc,sc,dc);
printf("其中,大写字母占%.2f,小写字母占%.2f,数字占%.2f。",(float)lc/n,(float)sc/n,(float)dc/n);
return 0;
}