NYRE 2021-06-26 14:43 采纳率: 100%
浏览 112
已结题

无情的点钞机无情的点钞机

总所周知 LC 是集训队买单最快的人,现在 LC 有 n 张面额从 1 到 10 的钞票,他想请你帮他算算 1 到 10 金额的钞票分别有多少张。

输入格式:

第一行中给出1个正整数 n(1<=n<=10​3​​) 代表金库里有 n 张钞票。

第二行给出 n 个正整数,第 i 个整数 X​i​​ 代表第 i 张钞票的金额。

输出格式:

在一行内输出 10 个整数,第 i 个整数代表金额为 i 的钞票的数量,两个数之间用一个空格隔开,注意行末不要有空格

输入样例:

5
1 2 1 3 2

输出样例:

2 2 1 0 0 0 0 0 0 0
  • 写回答

3条回答 默认 最新

  • CSDN专家-link 2021-06-26 15:09
    关注

    其实挺简单,定义两个数组,一个是所有钞票面额数组,一个是每种面额张数数组,遍历计数就行了

    int main()
    {
        int a[103] = {0};
        int i,n;
        int b[10] = {0};
        printf("请输入钞票张数:");
        scanf("%d",&n);
        printf("请输入%d张钞票面额:",n);
        for(i=0;i<n;i++)
        {
            scanf("%d",&a[i]);
            b[a[i]-1]++;
        }
        for(i=0;i<10;i++)
        {
            if(i==0)
                printf("%d",b[i]);
            else
                printf(" %d",b[i]);
        }
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月13日
  • 已采纳回答 1月5日