C语言鞍点问题
发布网友
发布时间:2022-04-28 12:00
我来回答
共2个回答
热心网友
时间:2023-10-08 20:43
该程序的代码如下。是很具有人性化的设计方案,希望对你有所帮助。
/*找一个二维数组中的鞍点,即该位置上的元素是该行中最大,在该列上最小,也可能没有鞍点。*/
#include <stdio.h>
#define N 10 /*查找鞍点*/
#define M 10
void main()
{
int i,j,k,m,n,flag1,flag2,a[M][N],max,maxj;
printf("输入行数n:");
scanf("%d",&n);
printf("输入列数m:");
scanf("%d",&m);
for(i=0;i<n;i++)
{
printf("请输入第%d行:",i+1);
for(j=0;j<m;j++)
scanf("%d",&a[i][j]);
}
printf("\n");
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
printf("%5d",a[i][j]);
printf("\n");
}
flag2=0;
for(i=0;i<n;i++)
{
max=a[i][0];
for(j=0;j<m;j++)
if(a[i][j]>max)
{
max=a[i][j];
maxj=j;
}
for(k=0,flag1=1;k<n&&flag1;k++)
if(max>a[k][maxj])
flag1=0;
if(flag1)
{
printf("\n第%d行,第%d列的%d是鞍点\n",i+1,maxj+1,max);
flag2=1;
}
}
if(!flag2)
printf("\n矩阵中无鞍点!\n");
}
此外谭浩强版的C程序设计答案可以从下面网址下载
http://wenku.baidu.com/view/3a1081116c175f0e7cd13798.html
如果该回答你很满意,别忘记加分哦。呵呵。
热心网友
时间:2023-10-08 20:44
#include"stdio.h"
void main()
{
int A[][5]={{1,2,3,4,5},{16,17,18,19,6},{15,24,25,20,7},{14,23,22,21,8},{13,12,11,10,9}};
int i,j,a;
printf("这是一个5*5的矩阵:\n");
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
printf("%d\t",A[i][j]);
printf("\n");
}
for(i=0;i<5;i++)
{
for(j=1;j<5;j++)
{
a=A[i][0];
if(a>A[i][j]) a=A[i][j];
}
for(j=1;j<5;j++)
{
int c=1;
if(a==A[i][j])
{
for(int k=0;k<5&&c;k++)
if(a<A[k][j]) c=0;
if(c)printf("有马鞍点:%d\n\t位置为:(%d,%d)\n",a,i,j);
}
}
}
}
这个是我一前的作业, 估计可以帮助你,你先看看吧
热心网友
时间:2023-10-08 20:43
该程序的代码如下。是很具有人性化的设计方案,希望对你有所帮助。
/*找一个二维数组中的鞍点,即该位置上的元素是该行中最大,在该列上最小,也可能没有鞍点。*/
#include <stdio.h>
#define N 10 /*查找鞍点*/
#define M 10
void main()
{
int i,j,k,m,n,flag1,flag2,a[M][N],max,maxj;
printf("输入行数n:");
scanf("%d",&n);
printf("输入列数m:");
scanf("%d",&m);
for(i=0;i<n;i++)
{
printf("请输入第%d行:",i+1);
for(j=0;j<m;j++)
scanf("%d",&a[i][j]);
}
printf("\n");
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
printf("%5d",a[i][j]);
printf("\n");
}
flag2=0;
for(i=0;i<n;i++)
{
max=a[i][0];
for(j=0;j<m;j++)
if(a[i][j]>max)
{
max=a[i][j];
maxj=j;
}
for(k=0,flag1=1;k<n&&flag1;k++)
if(max>a[k][maxj])
flag1=0;
if(flag1)
{
printf("\n第%d行,第%d列的%d是鞍点\n",i+1,maxj+1,max);
flag2=1;
}
}
if(!flag2)
printf("\n矩阵中无鞍点!\n");
}
此外谭浩强版的C程序设计答案可以从下面网址下载
http://wenku.baidu.com/view/3a1081116c175f0e7cd13798.html
如果该回答你很满意,别忘记加分哦。呵呵。
热心网友
时间:2023-10-08 20:44
#include"stdio.h"
void main()
{
int A[][5]={{1,2,3,4,5},{16,17,18,19,6},{15,24,25,20,7},{14,23,22,21,8},{13,12,11,10,9}};
int i,j,a;
printf("这是一个5*5的矩阵:\n");
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
printf("%d\t",A[i][j]);
printf("\n");
}
for(i=0;i<5;i++)
{
for(j=1;j<5;j++)
{
a=A[i][0];
if(a>A[i][j]) a=A[i][j];
}
for(j=1;j<5;j++)
{
int c=1;
if(a==A[i][j])
{
for(int k=0;k<5&&c;k++)
if(a<A[k][j]) c=0;
if(c)printf("有马鞍点:%d\n\t位置为:(%d,%d)\n",a,i,j);
}
}
}
}
这个是我一前的作业, 估计可以帮助你,你先看看吧
热心网友
时间:2023-10-08 20:43
该程序的代码如下。是很具有人性化的设计方案,希望对你有所帮助。
/*找一个二维数组中的鞍点,即该位置上的元素是该行中最大,在该列上最小,也可能没有鞍点。*/
#include <stdio.h>
#define N 10 /*查找鞍点*/
#define M 10
void main()
{
int i,j,k,m,n,flag1,flag2,a[M][N],max,maxj;
printf("输入行数n:");
scanf("%d",&n);
printf("输入列数m:");
scanf("%d",&m);
for(i=0;i<n;i++)
{
printf("请输入第%d行:",i+1);
for(j=0;j<m;j++)
scanf("%d",&a[i][j]);
}
printf("\n");
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
printf("%5d",a[i][j]);
printf("\n");
}
flag2=0;
for(i=0;i<n;i++)
{
max=a[i][0];
for(j=0;j<m;j++)
if(a[i][j]>max)
{
max=a[i][j];
maxj=j;
}
for(k=0,flag1=1;k<n&&flag1;k++)
if(max>a[k][maxj])
flag1=0;
if(flag1)
{
printf("\n第%d行,第%d列的%d是鞍点\n",i+1,maxj+1,max);
flag2=1;
}
}
if(!flag2)
printf("\n矩阵中无鞍点!\n");
}
此外谭浩强版的C程序设计答案可以从下面网址下载
http://wenku.baidu.com/view/3a1081116c175f0e7cd13798.html
如果该回答你很满意,别忘记加分哦。呵呵。
热心网友
时间:2023-10-08 20:44
#include"stdio.h"
void main()
{
int A[][5]={{1,2,3,4,5},{16,17,18,19,6},{15,24,25,20,7},{14,23,22,21,8},{13,12,11,10,9}};
int i,j,a;
printf("这是一个5*5的矩阵:\n");
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
printf("%d\t",A[i][j]);
printf("\n");
}
for(i=0;i<5;i++)
{
for(j=1;j<5;j++)
{
a=A[i][0];
if(a>A[i][j]) a=A[i][j];
}
for(j=1;j<5;j++)
{
int c=1;
if(a==A[i][j])
{
for(int k=0;k<5&&c;k++)
if(a<A[k][j]) c=0;
if(c)printf("有马鞍点:%d\n\t位置为:(%d,%d)\n",a,i,j);
}
}
}
}
这个是我一前的作业, 估计可以帮助你,你先看看吧