先上题

  1. 每张彩票上印有 7个各不相同的号码,且这些号码的取值范围为 1∼33。
  2. 每次在兑奖前都会公布一个由七个各不相同的号码构成的中奖号码。
  3. 共设置 7 个奖项,特等奖和一等奖至六等奖。

兑奖规则如下:

  • 特等奖:要求彩票上 7 个号码都出现在中奖号码中。
  • 一等奖:要求彩票上有 6 个号码出现在中奖号码中。
  • 二等奖:要求彩票上有 5 个号码出现在中奖号码中。
  • 三等奖:要求彩票上有 4 个号码出现在中奖号码中。
  • 四等奖:要求彩票上有 3 个号码出现在中奖号码中。
  • 五等奖:要求彩票上有 2 个号码出现在中奖号码中。
  • 六等奖:要求彩票上有 1 个号码出现在中奖号码中。

注:兑奖时并不考虑彩票上的号码和中奖号码中的各个号码出现的位置。例如,中奖号码为 23\ 31\ 1\ 14\ 19\ 17\ 18,则彩票 12 8 9 23 1 16 7 由于其中有两个号码(23 和 1)出现在中奖号码中,所以该彩票中了五等奖。

现已知中奖号码和小明买的若干张彩票的号码,请你写一个程序帮助小明判断他买的彩票的中奖情况。

输入格式

输入的第一行只有一个自然数 n,表示小明买的彩票张数;

第二行存放了 7个介于 1 和 33 之间的自然数,表示中奖号码;

在随后的 n 行中每行都有 7个介于 1 和 33 之间的自然数,分别表示小明所买的 n 张彩票。

输出格式

依次输出小明所买的彩票的中奖情况(中奖的张数),首先输出特等奖的中奖张数,然后依次输出一等奖至六等奖的中奖张数。

输入输出样例

输入 #1复制

2
23 31 1 14 19 17 18
12 8 9 23 1 16 7
11 7 10 21 2 9 31

输出 #1复制

0 0 0 0 0 1 1

分析:这道题我是用暴力过的,题虽然不难,但我还是想分享一下我的解法

对于数据的输入肯定是用循环+数组的方式,首先我们需要创建一个数组用来存放中奖的号码,然后采用循环遍历的方式读入数据,因为买了n张彩票,所以我们可以构建一个n重循环,在循环内部读入7次数据,表示1张彩票中的7个号码,接下来我们需要干一件事情,就是每次读入一个号码就将它与中奖号码进行匹配,如果相同就更新计数器,并且跳出这一次循环,去比较下一次读入的数据。整体的思路大概就是这个样子,在这里有一个难点就是我们还需要考虑数据的输出,所以我们可以创建一个数组,把计数器当下标代表是几等奖,存入中奖的张数,最后逆序输出就可以了。。。。。。

废话不多说我们这里直接上代码

#include<stdio.h>
int main()
{int i, j, k, t;int a[8];//存入中奖号码int b[8]={0};//存入中奖张数,下标表示几等奖int n;int count = 0;scanf_s("%d", &n);for (i = 1; i <= 7; i++){scanf_s("%d", &a[i]);}for (i = 1; i <= n; i++)//买了n张彩票{count = 0;for (j = 1; j <= 7; j++)//1张彩票有7个号码{scanf_s("%d", &t);for (k = 1; k <= 7; k++)//将当前号码与中奖号码一一比较{if (t == a[k]){count++;break;//中奖即更新计数器,跳出循环对比下一个数}}}b[count]++;}for (i = 7; i >= 1; i--){printf("%d ", b[i]);}return 0;
}

写完代码还是有几点需要注意的

1.对于要存入中奖张数的数组一定一定要初始化。

2.1张彩票的7个号码遍历完成之后一定要更新计数器count=0.

3.我们需要创建一个临时变量存入号码,通过一个循环去遍历中奖号码,将该号码与中奖号码一一比对。

今天的分享就到这里

[AHOI2001]彩票摇奖相关推荐

  1. P2550 [AHOI2001]彩票摇奖(python3实现)

    [AHOI2001]彩票摇奖 - 洛谷 """P2550 [AHOI2001]彩票摇奖(python3实现) https://www.luogu.com.cn/probl ...

  2. 洛谷——P2550 [AHOI2001]彩票摇奖

    P2550 [AHOI2001]彩票摇奖 题目描述 为了丰富人民群众的生活.支持某些社会公益事业,北塔市设置了一项彩票.该彩票的规则是: 每张彩票上印有 77 个各不相同的号码,且这些号码的取值范围为 ...

  3. P2550 [AHOI2001]彩票摇奖

    题目链接:https://www.luogu.com.cn/problem/P2550 题目描述 为了丰富人民群众的生活.支持某些社会公益事业,北塔市设置了一项彩票.该彩票的规则是: 每张彩票上印有 ...

  4. P2550 [AHOI2001]彩票摇奖(C语言)

    #include<stdio.h> int main() {int n,m=7;int a[1001][7]={0},b[7]={0}; //把数组定义大一点,不然就会WA scanf(& ...

  5. P2550 彩票摇奖

    为了丰富人民群众的生活.支持某些社会公益事业,北塔市设置了一项彩票.该彩票的规则是: 每张彩票上印有 77 个各不相同的号码,且这些号码的取值范围为 1\sim331∼33. 每次在兑奖前都会公布一个 ...

  6. P2550数组彩票摇奖

    桶排序在搜索计数中的应用 题目描述 为了丰富人民群众的生活.支持某些社会公益事业,北塔市设置了一项彩票.该彩票的规则是: 每张彩票上印有 77 个各不相同的号码,且这些号码的取值范围为 1\sim33 ...

  7. 彩票摇奖 java_Java课程设计——彩票购买抽奖系统

    一.项目介绍 题目要求: 功能要求: 模拟福利彩票36选7,实现彩票的抽奖与中奖通知功能. 1.允许注册用户,用户信息包括用户id,用户名,密码,账户金额,电话号码等属性. 2.允许注册用户购买彩票: ...

  8. 彩票摇奖 java_用java 实现彩票摇奖,猜拳程序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 人机猜拳对战游戏.由电脑随机猜拳分别石头.剪刀.布; 然后有用户输入自己的猜拳,判断输赢.程序要求可以循环猜拳; class Quan{ //少不了的定义 ...

  9. 洛谷-P2550-彩票摇奖

    [AHOI2001]彩票摇奖 - 洛谷 #include<bits/stdc++.h> using namespace std; int a[10],b[10]; int main() { ...

最新文章

  1. 遇事不责怪别人,换位思考能成全更好的自己
  2. 解决oracle数据库连接不上的问题
  3. 以京东为代表电商平台成中华老字号销售增速最快渠道
  4. WPF 使用值转换器进行绑定数据的转换IValueConverter
  5. kali之msfconsole
  6. 应用系统云原生架构衡量指标
  7. 计算机装系统找不到硬盘,电脑重装系统找不到硬盘驱动器怎么办?
  8. HDFS配置之NN-SNN-DN
  9. Laravel56查询构建器中的increment和decrement用法
  10. php电商订单模块设计,电商后台订单管理模块
  11. 重磅上线!万兴科技旗下亿图图示12.0打造全新智能绘图体验
  12. 路径规划——CH算法
  13. 火车头不能用mysql_火车头采集器发布失败常见问题汇总
  14. 小P的单调区间——解题报告
  15. HashCode 理解测试
  16. Java项目:ssm学生综合素质评价系统
  17. 关于WM_ERASEBKGND和WM_PAINT的深刻理解
  18. 企业标准的分类,企业标准有几种
  19. 购物商城模板APP和定制APP的区别到底在哪里
  20. android AppWidgetProvider 定时刷新问题

热门文章

  1. 刺探内心深处远古的记忆OnDragListener
  2. 百度地图多点路线规划_通勤出行该选谁?高德、百度地图对比,看看谁是上班最优选...
  3. vue实现浏览器代码在线编辑预览
  4. RabbitMQ(消息队列)浅记
  5. Nginx——nginx作为静态资源web服务(CDN场景)
  6. 猫影视配置2022.06.04
  7. 第二周总结(2018-03-05~2018-03-09)
  8. pytorch dali 加速 dali支持的数据处理列表,mxnet tensorflow caff读取数据转换 pytorch训练
  9. CRM销售管理系统能够给企业带来哪些好处?
  10. 对于拓展欧几里德算法的理解