由键盘输入一个3×4矩阵a,选出各列最小的元素组成一个一维数组b并输出
由键盘输入一个3×4矩阵a,选出各列最小的元素组成一个一维数组b并输出这段要怎么写啊,输出结果是什么样的???
哪位帮帮忙啊??
这段要怎么改呢???
#include "stdio.h"
#include "conio.h"
void main()
{
int i,j,a[3][4],b[4],min;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
for(i=0;i<4;i++)
b[i]=a[0][i];
for (i=0;i<4;i++)
for(j=1;j<2;j++)
if(a[i][j]<b[i]) b[i]=a[i][j];
for(i=0;i<4;i++)
printf("%d",b[i]);
getch();
}
谁能帮我解释一下上面那段显示的结果??
----------------解决方案--------------------------------------------------------
~
我给你写了个#include<stdio.h>
int main()
{
int a[3][4],i,j,b[3];
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
printf("\n");
}
for(i=0;i<3;i++)
{
b[i]=a[i][0];
for(j=0;j<4;j++)
{
if(b[i]>a[i][j])
b[i]=a[i][j];
}
printf("%4d",b[i]);
}
printf("\n");
}
----------------解决方案--------------------------------------------------------
~
不好意思 搞错了 搞成求行的了 我在改下 呵呵 ----------------解决方案--------------------------------------------------------
~
#include<stdio.h> int main()
{
int a[3][4],i,j,b[4];
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
printf("\n");
}
for(j=0;j<4;j++)
{
b[j]=a[0][j];
for(i=1;i<3;i++)
{
if(b[j]>a[i][j])
b[j]=a[i][j];
}
printf("%4d",b[j]);
}
printf("\n");
}
----------------解决方案--------------------------------------------------------
楼上写得 很好
----------------解决方案--------------------------------------------------------
错在这!
for (i=0;i<4;i++)for(j=1;j<2;j++)
if(a[i][j]<b[i]) b[i]=a[i][j];
上面错了!
a[3][4];
你的i只能有三个值j有四个值;
下面是我想的!!
for(j=0;j<4;j++)
for(i=3;i<3;i++)
{
if(b[j]>a[i][j]) b[j]=a[i][j];
}
----------------解决方案--------------------------------------------------------
谢谢各位,最近太忙,所以没及时回复
----------------解决方案--------------------------------------------------------
这不是在求鞍点?
鞍点是求一行的最大,一的列最小我们只需修改下就可以的到鞍点了
#include<stdio.h>
int main()
{
int a[3][4],i,j,b[3];
Int flag=0;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
printf("\n");
}
for(i=0;i<3;i++)
{
b[i]=a[i][0];
for(j=0;j<4;j++)
{
if(b[i]<a[i][j])
b[i]=a[i][j];
}
for (j=0;j<4;i++)
{ if(b[i]>a[i][j])
{ Flag=1;
Break;
}
}
}
if (flag=0)
{for (i=0;i<3;i++)
For (j=0;j<4;j++)
Printf(“%d”,a[i][j])
}
}
好像是这样的
我这边没有vc
不能测试
你们看看行不?
----------------解决方案--------------------------------------------------------
不好,一个数组可能有很多鞍点
如
1 1 1 1
1 1 1 1
1 1 1 1
哈哈,抬杠。。
----------------解决方案--------------------------------------------------------
...呵呵
----------------解决方案--------------------------------------------------------