
题目
解决代码及点评
/************************************************************************/
/*
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.youkuaiyun.com/detail/yincheng01/6681845
解压密码:c.itcast.cn