找马鞍点!
#include<stdio.h>#define M 100
#define N 100
main()
{
int i,j,k,p,q,temp,small;
int a[M][N];
printf("请输入您想输入的矩阵的行数和列数:\n");
scanf("%d %d",&p,&q);
printf("请按行输入矩阵(%d行%d列):\n",p,q);
for(i=0;i<p;i++)
{
for(j=0;j<q;j++)
{
scanf("%d",&a[i][j]);
}
}
temp=1;
for(i=0;i<p;i++)//控制换行
{
small=a[i][0];
for(j=0;j<q;j++)
{
if(small>a[i][j])
small=a[i][j];//记录最小数 8
if(a[i][j]==small)//处理在i行中等于small的元素
{
for(k=0;k<p;k++)//从该列的第一个元素比较
{
if(small<a[k][j])
temp=0;//small不是列最大
}
if(temp=1)
printf("a[%d][%d]=%d是所输矩阵的马鞍点\n",i,j,small);//当循环正常结束时,则为马鞍点
}
}
}
if(temp=0) printf("您输入的矩阵无马鞍点!");
}
这个程序为什么运行不出来马鞍点,希望高手指点!