发布时间:2020-09-09
} /,小于a[3],a[2]=3
max=a[1] /a[3]) max=a[3] 因max原来的值等于2了。
int a[2]={1,现在要把大的数a[2]给max
if(max<,所以,2,循环完后;/,j 对应第几列;数组a[0]=1,就用其它变量保存,如果max 小的话,找到了最大的;max=1
if (max<,有一个值比它大;/,所以,现在要把大的数a[3]给max
最后max里放的是最大的数,找出一个最大的。
比如我有3个数,max就与所以的值都比了一次,i 对第几行。所以只要找到最大值,那么就知道了该数的i 和 j ,就说明原来赋给max的值不是最大值因为max最终放的是最大的值,a[1]=2。
另外,小于a[2],即最大值所在的行号和列号,所以用判断语句判断max是否小于a[i][j],那么,a[i][j]中的i 和j 是循环中的变量;a[2]) max=a[2] 因为max 原来的值等于1,3,就要把这个大赋给max。即a[3]的值3
max表示最大值
a[i][j] 表示横下标为i 列下标为j 的二维数组a 的值
假设数组的值大于max就执行这句max=a[i][j] 就是将大的值赋值给max
所以max总是最大值
int i;3;<,j,n;再重写一次循环把if语句改成(n==a[i][j])输出i;j< 初始化数组n=a[0][0];i++) for(j=;n)n=a[i][j];for(i=0;j++)if(a[i][j]>,a[3][4]
回复:
for(i=0,{9,{5,c;%d最大数\,d;3;
}
}
printf(",max.h>,12}};
c=i,10;
void main()
{int a[3][4]={{1,c,max,6;j<=a[i][j])
{max=a[i][j],2;stdio,j;j++)
if(max<,4};;n%d行号\4,d);
int i,11,3,8};
d=j;
max=a[0][0]调试过了没有问题:
#include<i++)
{for(j=0;n%d列号",7;i<
max=a[0][0],这是把二维数组首地址的数赋给max;
接下来的 for(i=0;i<3;i++)是主函数行的循环,说明共三行;
for(j=0;j<4;j++)是列的循环,伴随着行一起移动;
if(max<=a[i][j]),这是一个判断语句,就是拿数组a第i行第j列的数与max(首地址的数)比较,
当满足条件时就把i行j列的数值赋值给max;
即:max=a[i][j]; c=i; d=j;
一次次地比较下来,凡是比max大的数,都会与max的值进行交换,
所以max只会保留最大的数。
这就是我的解答啦,可能你还是有点不懂,
但是我已经尽力了哦,祝你好运。。。。。
if(max<=a[i][j])
这个是条件判断,如果a[i][j]大于max,则
{max=a[i][j];
c=i;
d=j;
}
将当前的a[i][j]赋给max
如果没有比max大,则不执行
{max=a[i][j];
c=i;
d=j;
}
而是转到{for(j=0;j<4;j++)
调出下一个数,与max比较
因此,在已经进行比较 完成 的数之中,max总是代表的最大一个。
一楼的程序有点小错误,我修改完了,VC++6.0编译通过,你直接copy就可以了。
#include<stdio.h>
int main()
{
int a[4][5]={{1,2,3,4,5},{6,7,8,9,10},{110,12,13,14,15,},{16,17,18,19,20}};
int i,j;
int maxi=0;
int maxj=0;
int maxs=a[0][0];
for(i=0;i<=3;i++)
{
for(j=0;j<=4;j++)
{
//scanf("%d",&a[i][j]);
if(a[i][j]>maxs){maxs=a[i][j];maxi=i;maxj=j;}
}
}
printf("%d %d %d",maxs,maxi+1,maxj+1);
return 0;
}
那么把所有的数值循环一遍后没出现一次a[i][j]比max大的情况,用a[i][j]替换掉max,留下的就是最大的,因为没有被比它更大的替换掉
回复:i<=4;%d"maxj=j;=3;i++)
for(j=1;j<,maxi=0#incude<,j,maxs,maxj),maxs=-2147483648,maxj=0;
if(a[i][j]>.h>j++)
{
scanf("
for(i=1,&a[i][j]);;%d %d %d"maxi=i;stdio,maxi;;
return 0;maxs){maxs=a[i][j],i;
int main()
{
int a[4][5];}
}
printf("
因为max最终放的是最大的值,所以用判断语句判断max是否小于a[i][j],如果max 小的话,就说明原来赋给max的值不是最大值,有一个值比它大,那么,就要把这个大赋给max,循环完后,max就与所以的值都比了一次,找到了最大的。 比如我有3个数,找...
回复:int i,j,n,a[3][4]; 初始化数组n=a[0][0];for(i=0;
回复:#include int main(){ int i,j,a[3][4],max; for(i=0;i
回复:下载文件:最大值.rar
回复:int a[3][4]={ {1,2,3,4}, {5,6,7,8}, {9,10,11,12} }; int main() { int i;int j; int max=a[0][0]; for(i=0;i
回复:public class Abc { public static void main(String[] args) { int[][] arr = { {1, 2, 3, 4}, {5, 6, -1, 8}, {9, 22, 11, 12}}; int min = Integer.MAX_VALUE; int max = Integer.MIN_VALUE; int col_min = 0, row_min = 0; int col_max = 0,...
回复:调试过了没有问题: #include void main() {int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; int i,j,c,d,max; max=a[0][0]; for(i=0;i
回复:#include main() { int i,j,k1,k2,data[3][4]; for(i=0;i
回复:#includeint main(){int max(int arr[3][4]);int m;int arr[3][4];int i,j;printf("Please input the arr:\n");for(i=0;i
回复:if(j==4) printf("%d\n",max); 去掉if(j==4) 加大括号。 改成这样: #define M 3 #define N 5 #include void main() { int a[M][N],max; int i,j; for(i=0;i
返回主页:清远汽车网
本文网址:http://0763auto.cn/view-24881-1.html