
题目
解决代码及点评
/************************************************************************/ /* 62. 比高矮: 100个学生任意排成10行、10列的正方形队列,在每一列中选出一个最矮的(10个) , 然后在这10个矮人中选出最高的一个人, 叫做“矮人中的高个子”。 而后这10个矮人仍站回到各自的位置,再在每一行中选出一个最高者(10个) ,又从这10个高人中选出最矮的一人, 叫做“高人中的矮个子”。 问“矮人中的高个子”和“高人中的矮个子”中谁的个子高? */ /************************************************************************/ #include <stdio.h> #include <stdlib.h> #include <math.h> #include <string.h> #include<limits.h> int FindGA(int arr[][10]) { int AI=101; for (int i=0;i<10;i++) { int GA=arr[i][0]; for (int j=0;j<10;j++) { if (GA<arr[i][j]) { GA=arr[i][j]; } } if (AI>GA) { AI=GA; } } return AI; } int FindAG(int arr[][10]) { int GA=arr[0][0]; for (int i=0;i<10;i++) { int Ai=arr[0][i]; for (int j=0;j<10;j++) { if (Ai>arr[j][i]) { Ai=arr[j][i]; } } if (GA<Ai) { GA=Ai; } } return GA; } void main() { const int N=10; int arr[10][10]={0}; for (int i=0;i<10;i++) { for (int j=0;j<10;j++) { arr[i][j]=rand()%100; printf("%4d",arr[i][j]); } printf("\n"); } int num1=FindAG(arr); int num2=FindGA(arr); printf("%5d,%5d",num1,num2); if (num1>num2) { printf("矮中高高"); } else if (num1==num2) { printf("一样 高"); } else { printf("高中矮 高"); } system("pause"); }
代码编译以及运行
由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:
1)新建工程
2)选择工程
3)创建完工程如下图:
4)增加文件,右键点击项目
5)在弹出菜单里做以下选择
6)添加文件
7)拷贝代码与运行
程序运行结果
代码下载
http://download.csdn.net/detail/yincheng01/6681845
解压密码:c.itcast.cn