总所周知 LC 是集训队买单最快的人,现在 LC 有 n 张面额从 1 到 10 的钞票,他想请你帮他算算 1 到 10 金额的钞票分别有多少张。
输入格式:
第一行中给出1个正整数 n(1<=n<=103) 代表金库里有 n 张钞票。
第二行给出 n 个正整数,第 i 个整数 Xi 代表第 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]);
}
}