c++求一个整数0-9的个数

问题描述】统计一个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