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 }

 

你可能感兴趣的:(计算)