题目:从键盘输入若干个整数,其值在 0 至 4 范围内,用-1 作为 输入结束的标志。统计每个整数的个数
分析:一般统计个数,通常是用key-value的思想来实现,如果是用Java的话直接用map集合就搞定了。但是c语言可以用数组来等价实现这个功能,所有的整数都在0到4内。所以可以定义一个长度为5的数组,数组的下标代表整数,所对应的值作为整数的个数。
代码如下:
#include <stdio.h>
void main()
{
int i,s[5]={0},x;
printf("Input some numbers(between 0 to 4):");
while(x!=-1){
scanf("%d",&x);
if (x>=0&&x<=4) s[x]++; //输入的值相当于下标,然后将下标所对应的的值自增
}
for(i=0;i<=4;i++)
printf("%d: %d\n",i,s[i]);
}
运行结果: