问题描述】统计一个3*4二维数组元素值中各数字(0~9)出现的次数。
【输入形式】
【输出形式】
【样例输入】
1 2 3 4
5 6 7 8
9 10 11 12
【样例输出】
0:1 1:5 2:2 3:1 4:1 5:1 6:1 7:1 8:1 9:1
用for循环统计就好啦。
#include <stdio.h>
#include <stdlib.h>
#define M 3
#define N 4
void count(int val, int cnt[10])
{
if (val == 0) {
cnt[val]++;
}
else {
while (val != 0) {
cnt[val % 10]++;
val /= 10;
}
}
}
int main()
{
int data[M][N], cnt[10] = {0}, i, j;
printf("请输入%d*%d数据:\n", M, N);
for (i = 0; i < M; i++) {
for (j = 0; j < N; j++) {
scanf("%d", &data[i][j]);
}
}
// 统计
for (i = 0; i < M; i++) {
for (j = 0; j < N; j++) {
count(data[i][j], cnt);
}
}
printf("统计结果:\n");
for (i = 0; i < 10; i++) {
printf("%d: %d次,", i, cnt[i]);
}
printf("\n");
system("pause");
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m