洛谷题单
第四十四天:4.23(周二)
题目:数组–P2550
代码
#include<stdio.h>
// 两个卡住的点
// 1. 如何实现中将数字个数和奖项对应起来,然后输出中奖张数
// 2. 如何动态的统计中奖张数然后记录
int main()
{
int n,temp,cnt; //用临时变量temp来保存输入的数,目的是比较是否有相同的
int a[8]; //存放中奖号码
int b[8]={0}; //存放中奖张数,根据题目的特点,下标对应中奖张数,下标对应的值来存储对应奖项的中奖张数
scanf("%d",&n);
for(int i=0;i<7;i++)
{
scanf("%d",&a[i]);
}
for(int i=0;i<n;i++)
{
cnt=0; //每次统计完成后需要重置
for(int j=0;j<7;j++)
{
scanf("%d",&temp);
// 每输入一个值就去中奖号码中逐一比较,如果有相同的计数器就自增一
for(int k=0;k<7;k++)
{
if(temp==a[k])
{
cnt+=1;
break; //如果找到相同的直接结束,不需要再找了
}
}
}
b[cnt]++;
}
//用下标对应奖项,从小到大,下标小的奖项低,根据题目要求从特等奖输出,逆序输出即可
// 注意:下标从一开始存储,不输出下标为一的数值
for(int i=7;i>0;i--)
{
printf("%d ",b[i]);
}
}
366

被折叠的 条评论
为什么被折叠?



