题目要求:
注意是:输入的为数字字符
思路:因为输入的是字符,想要统计数字,则需要将数字字符转换成对应的数字,由ASCII码可知,只要减去48即可。再将其对应的数组下标中的元素自增。
int main()
{
int num[10]={0},number;
char aa;
printf("请输入一串数字,并以#结束:");
while ((aa=getchar())!='#') //getchar()函数只能接受单个字符,输入数字也按字符处理。
{
number= (int)aa; //强制类型转换,对应数字的ASCII码
number=number-48;//数字字符转化到其对应的数字
num[number]++; //对应数组下标元素加一
}
for(int i=0;i<10;i++)
{
printf("%d 的个数为:%d\n",i,num[i]);
}
printf("\n");
return 0;
}
打印出来的结果: