2020全国大学生计算机技能应用大赛决赛C语言编程题摘录
记录决赛两道编程题,比赛时由于时间紧张和经验不足,未有效完成。
现记录并完善。
综合应用题
题目
2020年是特殊的一年,COVID-19 的传播给全世界都带来了极大的威胁。中国在疫情防治工作上有着突出表现,向社会、世界都做出了极大的贡献,让我们一同为祖国点赞。疫情防治工作,重在预防,各个地区都应当相互学习合适又优秀的防疫措施。如果能够依据现有的疫情数据分析出具有相似疫情情况的地区,那么对于挖掘疫情发展规律、分析疫情防控效能和落实疫情防治举措都会有积极的影响。现给出5个地区的当前疫情数据,请分析出疫情最相似的两个地区。具体要求如下:
使用C语言程序设计实现;
为每个地区的疫情情况构建结构体,该结构体包括以下属性:
地区名、新增患者数、现有患者数、累积患者数、治愈患者数、死亡患者数。相似程度算法如下:
其中,i 指的是 x 和 y 对象的第 i 维特征。sim越大,则两个对象越相似。
现有的5个地区的当前疫情数据是:
序号 地区名 新增患者数 现有患者数 累积患者数 治愈患者数 死亡患者数 1 cityA 3 3 582 573 6 2 cityB 4 3 238 234 1 3 cityC 5 3 197 191 3 4 cityD 3 2 692 683 7 5 cityE 6 2 171 163 6 要求提供数据输入功能。
要求输出部分必须有最相似的两个地区的名字。
输入输出样例:
(有改编)
代码实现
1 |
|
程序设计题
题目
实现一个矩阵左右循环移动的小程序。用户通过输入数据,程序作出相应动作。规定:函数fun1的功能是向左移动,函数fun2的功能是向右移动,当用户输入q时,结束程序。在给出代码框架中,可以决定是否使用全局变量r。
参考输入输出:
要求:
- 不改变已给出的代码;
- 补充fun1和fun2函数;
- 补充main()函数两个注释之间的代码:要求在此补充菜单式的控制流程,要求能够实现对上次变化后的矩阵进行循环横向转移(可设置转移方向和转移步数);
- 关于方向,规定:输入1,代表向左转移;输入2,代表向右转移;
- 关于步数,规定:输入值为大于等于1的正整数。
代码框架:
1 |
|
(有改编)
代码实现
我觉得思考清晰了就没什么难度,想清楚如何循环,每个循环的作用。
1 |
|