可以参考下面的代码:
#include <stdio.h>
intmain()
{
inta,b,c,ch;
a=b=c=0;//计数器初始化为0.
while((ch=getchar())!='\n')//循环读取字符,到换行结束。
{
if(ch>='0' && ch<='9')//数字
a++;
else if((ch>='a' && ch<='z')||(ch>='A' && ch<='Z'))//字母
b++;
else//其它
c++;
}
printf("%d%d%d\n",a,b,c);//输出结果。
return0;
}
扩展资料:
printf()函数函数
printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。在编写程序时经常会用到此函数。函数的原型为:
int printf(const char *format, ...);
函数返回值为整型。若成功则返回输出的字符数,输出出错则返回负值,printf()函数的调用格式为:
printf("<格式化字符串>", <参量表>);
while语句的一般表达式为:while(表达式){循环体}。
参考资料来源:百度百科-printf()
参考资料来源:百度百科-while (循环语句及英文单词)
一、问题分析:
输入一行字母,那么会以换行结束。所以可以存入数组,也可以逐个输入,遇到换行结束。
要统计各个类的个数,就要逐个判断是哪个分类的。
由于在ASCII码中,数字,大写字母,小写字母分别连续,所以可以根据边界值判断类型。
二、算法设计:
1、读入字符,直到遇到换行结束。
2、对于每个字符,判断是字母还是数字,或者是其它字符。
3、对于每个字符判断后,对应类别计数器自加。
4、最终输出结果。
三、参考代码:
#include <stdio.h>