南京邮电大学通达学院 程序设计(上机)报告
题 目: R009M R024M
专 业 软件工程 学 生 姓 名 xxx 班 级 学 号 xxx 指 导 教 师 韦 剑 日 期 2016年6月6日
1
评分项 平时成绩 软件验收 设计报告 优秀 良好 中等 及格 不及格 评分细则注:评分等级分为五种:优秀、良好、中等、及格、不及格
评分等级备注 2
教师签名: 年 月 日 题目一: 1、问题描述:
题目编号 内容 要求 200个学生不按身高任意排成10行﹑20列的长方形队列。在每一列中选出一个最矮者(如这样人有几个,可任选其中一个)。然后在所选的20个矮人中挑出最高者一人,叫做“矮人中的高个子”。然后,令这20个矮人各回原位。再在每一行中选出一个最高者,又从这10个高人中挑出最矮者一人,叫“高个子中的矮子”。请问“矮人中的高个子”和“高个子中的矮子”这二人中哪个高? 难度 R009M Middle 2、课题分析:
根据题目要求,可知这题需要运用数组和比较大小。先建立一个10行20列的数组,然后通过置换比较求得每一列的最小值和每一行的最大值,分别存入min[j]和max[i]中。再比较min[j]中的数,求得其中最大数minmax;比较max[i]中数,求得其中的最小数maxmin.最后比较minmax和maxmin,并输出结果。 3、算法描述:
算法流程图如下图1-1所示:
开始输入并显示数据 求每列最小值min[j]比较max[i]的值,找出高个子中的矮子maxmin求每行最大值max[i]比较min[j]的值,找出矮人中的高个子minmax比较minmax和maxmin并输出图1.1:算法流程图
4、源代码:
结束
#include
for(j=0;j<20;j++) { min[j]=a[0][j]; //先把第一个值设为最小值,然后与后面的数逐一比较 for(i=0;i<10;i++) { if(a[i][j] 4
相关推荐: