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

总所周知 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

遍历进行统计即可

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int i,n,a[105]={0},x;
    cin>>n;
    for(i=0;i<n;i++){
        cin>>x;
        a[x]++;
    }
    for(i=1;i<=10;i++){
        cout<<a[i]<<" ";
    }
    return 0;
}

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

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]);
    }
}