水平拙劣,望各位留下宝贵意见多多指教
#include<stdio.h>
#include<conio.h>
//统计数字,英文大,小写,空格,其他字符。
int main( )
{
int n = 0,bc = 0,sc = 0,k = 0,o = 0,x = 0;//计数器
char a[80];//80个内的字符
int i;
printf("请输入80个字符以内的文本:\n");
gets(a);
for ( i = 0; a[i] != '\0'; i++)
{
if ( (int)a[i] > 32 && (int)a[i] <= 47 \//判断特殊字符
||(int)a[i] >= 58 && (int)a[i] <= 64\
||(int)a[i] >= 91 && (int)a[i] <= 96\
||(int)a[i] >= 123 && (int)a[i] <= 126)
{
o++;
}
else if ((int)a[i] >= 65 && (int)a[i] <= 90 )//判断大写字母
{
bc++;
}
else if ((int)a[i] >= 97 && (int)a[i] <= 122 )//判断小写字母
{
sc++;
}
else if ((int)a[i] >= 48 && (int)a[i] <= 57 )//判断数字
{
n++;
}
else if ((int)a[i] == 32)//判断空格
{
k++;
}
else//除此以外的就是中文字符了,中文字符 占2字节,所以输出要除以2
{
x++;
}
}
printf("数字有%d个\n大写字母有%d个\n小写字母有%d个\n特殊符号有%d个,\n空格有%d个,\n中文字符有%d个",n,bc,sc,o,k,(x/2));
getch();
return 0;
}