SDUT 1198 鞍点计算

这个题就是个循环的控制问题。水题。

题目描述

找出具有m行n列二维数组Array的“鞍点”,即该位置上的元素在该行上最大,在该列上最小,其中1<=m,n<=10。

输入

输入数据有多行,第一行有两个数m和n,下面有m行,每行有n个数。

输出

按下列格式输出鞍点:

Array[i][j]=x

其中,x代表鞍点,i和j为鞍点所在的数组行和列下标,我们规定数组下标从0开始。

一个二维数组并不一定存在鞍点,此时请输出None。
 
我们保证不会出现两个鞍点的情况,比如:
 
3 3
1 2 3
1 2 3
3 6 8

示例输入

3 3
1 2 3
4 5 6
7 8 9

示例输出

Array[0][2]=3
View Code
 1 #include<stdio.h>
 2 void main()
 3 {
 4  int a[10][10],i,j,k,m,n,max,min,t,b,c;
 5  scanf("%d%d",&n,&m);
 6  for(i=0;i<=n-1;i++)
 7   for(j=0;j<=m-1;j++)
 8    scanf("%d",&a[i][j]);
 9   for(i=0;i<=n-1;i++)
10   {
11    b=0;
12    c=0;
13    max=a[i][0];
14    for(j=0;j<=m-1;j++)
15    {
16     if(a[i][j]>max)
17     {max=a[i][j];t=j;}
18    }
19    min=a[i][t];
20    for(k=0;k<=n-1;k++)
21    {
22     if(a[k][t]<min)
23     {c++;   break;}
24     else b++;
25    }
26    if(b==n)
27    {
28     printf("Array[%d][%d]=%d\n",i,t,a[i][t]);
29     break;
30    }
31   }
32         if(c==n-1)
33       printf("None\n");
34 }

 

posted @ 2012-06-02 00:36  时光旅行的懒猫  阅读(558)  评论(0编辑  收藏  举报