- 博客主页:算法歌者
- 本篇专栏:[刷题]
- 您的支持,是我的创作动力。
文章目录
- 1、题目
- 2、基础
- 3、思路
- 4、结果
1、题目
链接:洛谷-P2550-彩票摇奖
2、基础
此题目考察数组、三重循环、自增操作的能力。
3、思路
- 写代码时候,需要注意每个号码和一次7个中奖号码进行比较,在这个地方上很容易出错,错误在于,统计中奖数字个数的变量若放置不当,会导致统计结果错误。
- 要了解如何对数组元素进行自增。
于是,题目这样解:
#include <iostream>
using namespace std;
int answer[7]; // 中奖号码
int count[7]; // 中奖的张数
int n;
int main()
{
cin >> n;
// 输入
for(int i = 0; i < 7; i++)
{
cin >> answer[i];
}
// 输入n张彩票,并计算处理
for (int i = 0; i < n; i++)
{
int tmp = 0;
int cnt = 0;
// 输入一张彩票号码
for (int j = 0; j < 7; j++)
{
cin >> tmp;
// 核对号码
for (int k = 0; k < 7; k++)
{
if (tmp == answer[k])
{
cnt++;
break;
}
}
}
if (cnt >= 1 && cnt <= 7)
count[7-cnt]++;
}
for (int i = 0; i < 7; i++)
{
cout << count[i] << " ";
}
return 0;
}
4、结果
完。