PTA 7-126 刮刮彩票 (20 分) (C语言版)

2023-11-03

“刮刮彩票”是一款网络游戏里面的一个小游戏。如图所示:

每次游戏玩家会拿到一张彩票,上面会有 9 个数字,分别为数字 1 到数字 9,数字各不重复,并以 3×3 的“九宫格”形式排布在彩票上。

在游戏开始时能看见一个位置上的数字,其他位置上的数字均不可见。你可以选择三个位置的数字刮开,这样玩家就能看见四个位置上的数字了。最后玩家再从 3 横、3 竖、2 斜共 8 个方向中挑选一个方向,方向上三个数字的和可根据下列表格进行兑奖,获得对应数额的金币。

数字合计 获得金币 数字合计 获得金币
6 10,000 16 72
7 36 17 180
8 720 18 119
9 360 19 36
10 80 20 306
11 252 21 1,080
12 108 22 144
13 72 23 1,800
14 54 24 3,600
15 180

现在请你写出一个模拟程序,模拟玩家的游戏过程。

输入格式:

输入第一部分给出一张合法的彩票,即用 3 行 3 列给出 0 至 9 的数字。0 表示的是这个位置上的数字初始时就能看见了,而不是彩票上的数字为 0。

第二部给出玩家刮开的三个位置,分为三行,每行按格式 x y 给出玩家刮开的位置的行号和列号(题目中定义左上角的位置为第 1 行、第 1 列。)。数据保证玩家不会重复刮开已刮开的数字。

最后一部分给出玩家选择的方向,即一个整数: 1 至 3 表示选择横向的第一行、第二行、第三行,4 至 6 表示纵向的第一列、第二列、第三列,7、8分别表示左上到右下的主对角线和右上到左下的副对角线。

输出格式:

对于每一个刮开的操作,在一行中输出玩家能看到的数字。最后对于选择的方向,在一行中输出玩家获得的金币数量。

输入样例:

1 2 3
4 5 6
7 8 0
1 1
2 2
2 3
7

输出样例:

1
5
6
180

 参考代码:

#include<stdio.h>

int main()
{
	int z[3][3];		//用于储存彩票数字 
	int sum=0,num=45;	//sum储存玩家挑选方向的数字合计,num为1到9的和 
	int money[]={10000,36,720,360,80,252,108,72,54,180,72,180,119,36,306,1080,144,1800,3600};
	for(int i=0;i<3;i++){
		for(int j=0;j<3;j++){
			scanf("%d",&z[i][j]);
			num-=z[i][j];
		}
	}
	//用于找到0位置的是数字几 
	for(int i=0;i<3;i++){
		for(int j=0;j<3;j++){
			if(z[i][j]==0)
				z[i][j]=num;
		}
	}
	//输出玩家挑选的3个数 
	for(int i=0;i<3;i++){
		int x,y;
		scanf("%d %d",&x,&y);
		printf("%d\n",z[x-1][y-1]);
	}
	//获取玩家挑选的方向并计算该方向的和 
	int n;
	scanf("%d",&n);
	if(n<=3)
		sum=z[n-1][0]+z[n-1][1]+z[n-1][2];
	else if(n<=6)
		sum=z[0][n-4]+z[1][n-4]+z[2][n-4];
	else if(n==7)
		sum=z[0][0]+z[1][1]+z[2][2];
	else
		sum=z[0][2]+z[1][1]+z[2][0];
	//输出数字合计对应的金币 
	printf("%d",money[sum-6]);
	
	return 0;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PTA 7-126 刮刮彩票 (20 分) (C语言版) 的相关文章

  • Linux 安装MySQL 8.0 超详细教程(mysql 8.0.30)

    目录 一 卸载mariadb 1 检查Linux是否安装了mariadb数据库 2 全部卸载 3 检查mariadb是否全部卸载 二 删除之前安装的mysql 1 查找以前是否装有mysql 2 查找之前安装的mysql的目录 并且删除my
  • 将APP程序发布到iPhone或iPad上去测试

    转载至 http www appshare cn thread 3123 1 1 html 图文的介绍版本 http fstoke me blog tag apple 绝大多数iPhone Developer Distribution 的代
  • Linux命令——统计文件数量

    统计文件夹下文件的总个数 不包括文件夹 ls l grep wc l 统计文件夹下所有文件 包括子文件 的总个数 ls lR grep wc l 统计文件夹下所有文件夹的个数 包括子文件夹 ls LR grep d wc l 具体解释 ls

随机推荐

  • 【微软】数组里找任意两个数之和的绝对值最小值

    数组里找任意两个数之和的绝对值最小值 思路 有一个整数数组 请求出两两之差绝对值最小的值 记住 只要得出最小值即可 不需要求出是哪两个数 方法1 暴力的方式 遍历所有的两个数的差 记录最小值 算法的复杂度O n2 方法2 两个数要想差的绝对
  • Innodb的LRU列表解析

    Innodb为了加快对磁盘中数据的操作 在操作磁盘上的数据时 会先把数据存放到一块名为Buffer Pool的内存缓冲池中 缓冲池以页为单位进行缓存 页大小为16K 由于受到机器限制 内存的大小远小于磁盘的大小 因此需要一种机制来淘汰非热点
  • .NET框架结构体系及工作原理

    1 NET框架运行在操作系统之上 是 NET最基础的框架 它提供了创建 部署和运行 NET应用的环境 主要包含公共语言运行时 CLR 和框架类库 NET Framwork 类库 FCL 并且支持多种开发语言 NET框架可以安装在Window
  • ppt使用教程记录

    ctrl 快速缩小字体 ctrl 快速放大字体 ctrl b 加粗 ctrl u 下划线 ctrl i 斜体 ctrl e 居中对齐 ctrl l 左对齐 ctrl r 右对齐 alt n x h 快速插入文字 alt n p d 快速插入
  • 前端绑定事件总结

    前言 前端开发很多情况下都需要绑定事件 不同的事件对应不同的触发方式 不同需求下需要合适的事件 最近在开发中遇到了绑定事件的问题 所以总结一下前端绑定事件 事件 元素天生具备的行为方式 和写不写JS代码没有关系 onclick不是事件 cl
  • 1. 实现一个单链表,链表初始为空,支持三种操作:

    1 向链表头插入一个数 2 删除第 k 个插入的数后面的数 3 在第 k 个插入的数后插入一个数 include
  • MKL 进行矩阵向量运算

    C source code is found in dgemm example c define min x y x lt y x y include
  • 安卓逆向-反编译-修改-打包-签名-解决夜神模拟器usb调试找不到安卓apk的问题,无法进行动态调试的解决方案。

    问题来由 在进行了一定时间的安卓逆向的学习 遇到了一个问题如图 这么多个安卓apk 打开开发者模式 调试应用只有一个 这不是离谱 按照之前的文章 这就不能进行动态调试 既然有了问题就要想解决办法 问了带我的师傅 我不是用你这个方法的 给我演
  • 【Python】Pyqt5 主窗口调用子窗口demo

    背景 通过主窗口的按钮调用其对应的窗口 代码比较简单 直接看 不懂的欢迎留言 一共两个代码 ui first py 实现的是主窗口 ui second py 实现的是子窗口 点击开始按钮调用子窗口 点击关闭退出窗口 ui first py
  • C#方法,可空类型,数组,集合,ArrayList排序,List,Hashtable和Dictionary

    C 方法 方法的定义 public void int Compare int a int b Program program new Program Console WriteLine Compare a b 方法的递归 public vo
  • java 实现word转pdf,并且实现内容替换,乱码处理,去水印

    1 引入依赖 aspose words的包需要从官网下载
  • JavaScript 使用image-compressor压缩图片

    首先引入min js文件 引入 import ImageCompressor from assets js image compressor min 压缩 uploadImage 图片小于80KB 直接上传 大于80KB 压缩后上传 if
  • 使用Spring StateMachine框架实现状态机

    Spring StateMachine框架可能对于大部分使用Spring的开发者来说还比较生僻 该框架目前差不多也才刚满一岁多 它的主要功能是帮助开发者简化状态机的开发过程 让状态机结构更加层次化 前几天刚刚发布了它的第三个Release版
  • flex布局教程(来源:阮一峰)

    flex布局非常适合移动端项目 跟安卓端的线性布局很像 可参考 flex布局是通过给父元素添加flex属性 来控制子元素的位置和排序方式 一 Flex 布局是什么 Flex 是 Flexible Box 的缩写 意为 弹性布局 用来为盒状模
  • CanMV K210工程源码架构

    CanMV K210工程源码架构 关于CanMV github源码地址 https github com kendryte canmv CanMV 让 AIOT 更简单 CanMV 基于Sipeed MaixPy 但它与之不同 现在是一个完
  • Uipath 基础(简介、用户界面、键盘快捷键)

    一 简介 UiPath Studio是一个完整的应用程序集成解决方案 可自动化第三方应用程序 管理IT任务和业务IT流程 Studio中最重要的概念之一是自动化项目 项目是业务流程的图形表示 通过让您完全控制执行顺序以及自定义步骤集之间的关
  • C/C++基础讲解(一百二十八)之经典篇(时间函数举例四剑客)

    C C 基础讲解 一百二十八 之经典篇 时间函数举例四剑客 程序之美 前言 很多时候 特别是刚步入大学的学子们 对于刚刚开展的计算机课程基本上是一团迷雾 想要弄明白其中的奥秘 真的要花费一些功夫 我和大家一样都是这么啃过来的 从不知到知知
  • chrome浏览器的console中引入jquery的包用于ajax访问

    首先是 var scr document createElement script scr src https code jquery com jquery 2 2 0 min js document body appendChild sc
  • LeetCode初级算法——数组: 删除排序数组中的重复项

    解法一 暴力解法 创建一个动态数组list 用contains 方法提取 保存不重复的数字 再将动态数组list的数据取出赋给nums数组 返回list的长度 class Solution public int removeDuplicat
  • PTA 7-126 刮刮彩票 (20 分) (C语言版)

    刮刮彩票 是一款网络游戏里面的一个小游戏 如图所示 每次游戏玩家会拿到一张彩票 上面会有 9 个数字 分别为数字 1 到数字 9 数字各不重复 并以 3 3 的 九宫格 形式排布在彩票上 在游戏开始时能看见一个位置上的数字 其他位置上的数字