c语言编程题中已知数组中的值在0~9之间,统计0~9各数字出现的个数

如题所述

思路:定义一个数组a用来存储需要统计的数组,再定义一个数组b用来统计0-9数组出现的个数,for循环a数组进行统计,最后输出b数组。

参考代码:

#include<stdio.h>
int main()
{
int i,a[20]={1,2,3,4,8,5,6,7,0,1,2,4,5,6,4,0,9,7,5,2},b[10]={0}; 
for(i=0;i<20;i++)
b[a[i]]++;
for(i=0;i<10;i++)
printf("%d出现的次数为:%d\n",i,b[i]);
return 0;
}
/*
运行结果: 
0出现的次数为:2
1出现的次数为:2
2出现的次数为:3
3出现的次数为:1
4出现的次数为:3
5出现的次数为:3
6出现的次数为:2
7出现的次数为:2
8出现的次数为:1
9出现的次数为:1
*/
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-02-27
#include <stdio.h>
#include <math.h>
void fun(int *a, int n,int *b){
int i;
for (i=0;i<10;i++) b[i]=0;
for (i=0;i<n;i++) b[a[i]]++;
}
main ()
{
int a[20]={1,2,3,4,5,0,9,8,5,6,5,4,3,2,1,3,5,8,2,1}; //已知数组
int i,n=20;
int b[10]; //存放统计值
fun(a,n,b); // 统计
for (i=0;i<10;i++)
printf("%d -- %d\n",i,b[i]); // 输出统计结果
}本回答被网友采纳
相似回答