定州到霸州火车时刻表:c语言的题目,“求二维数组中行中最大列中最小的数,若没有则说明”,请问这个题目怎么做!

来源:百度文库 编辑:高校问答 时间:2024/04/30 08:54:53
请大家帮忙了!!一定要用c语言呀!!还有不能用指针,只能用数组和三种基本结构!!谢谢!!

我想楼主没有表达明白,不过大多数人一看还是能懂的.你的意思应该是:找了一个二维数组中的鞍点,即该位置上的元素在该行上最大\在该列上最小.
也可能没有鞍点.
如果你是用的谭教授的课本,我猜你还没有学到调用函数吧!那就不用了!
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{int a[10][10], i,j,k,max,min,n=0;
printf("Please enter your array:\n");
for(i=0;i<10;i++)
{for(j=0;j<10;j++)
scanf("%d,",&a[i][j]);
printf("\n");
}
for(i=0;i<10;i++)
{for(j=0,max=a[i][j];j<10;j++)
if(max<=a[i][j]) max=a[i][j];
for(j=0;j<10;j++)
if(max==a[i][j])
{for(k=0,min=a[k][j];k<10;k++)
if(min>=a[k][j]) min=a[k][j];
if(max==min)
for(k=0;k<10;k++)
if(max==a[k][j]) {printf("a[%d][%d] is a saddle_point;\n",k,j);n++;}
}
}
if(n==0) printf("there is no saddle_point in your array.\n");
getch();

}

这个问题94很经典的“鞍点”问题!我下面写个求5行5列的二维数组的“鞍点”程序。(作业还是自己做比较好^_^我的代码仅贡参考!)
————————————————————————
#include <stdio.h>
void main(void)
{
int array[5][5],i,number=0,leap,j,m,n;
printf("\nInput the numbers of array:\n");
for(i=0;i<5;i++)
for(j=0;j<5;j++)
{
printf("array[%d][%d]=",i,j);
scanf("%d",&array[i][j]);
}
printf("The array is:\n");
for (i=0;i<5;i++)
{
for (j=0;j<5;j++)
printf("%5d",array[i][j]);
printf("\n");
}
printf("\n");
for (i=0;i<=5;i++)
{
m=i;
n=0;
leap=1;
for(j=0;j<5;j++)
{
if(array[m][n]<array[i][j]) n=j;
}
for(j=0;j<5;j++)
{
if(array[m][n] >array[j][n])
leap=0;
}
if(leap==1)
{printf("%d is the seek number!\n",array[m][n]);number++;}
}
if(number==0)
printf("No Answer!\n");
getch();
}

何为最大列列怎能比较

什么叫做最大列?描述要清楚