请问这两段代码差距在哪里?
#include<stdio.h>#defineN3#defineM5intmain(){inta[N][M],i,j,max;for(i=0;i<N;i++){max=...
#include<stdio.h>
#define N 3
#define M 5
int main()
{
int a[N][M],i,j,max;
for(i=0;i<N;i++)
{
max=a[i][0];
for(j=0;j<M;j++)
scanf("%d",&a[i][j]);
if(max<a[i][j])
max=a[i][j];
printf("%d\n",max);
}
}
---------------------------------------------------------------------------------------------------
#include<stdio.h>
#define M 3
#define N 5
int main()
{
int a[M][N],i,j,max;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
scanf("%d",&a[i][j]);
for(i=0;i<M;i++) {
max=a[i][0];
for(j=0;j<N;j++)
if(max<a[i][j])
max=a[i][j];
printf("%d",max);
}
} 展开
#define N 3
#define M 5
int main()
{
int a[N][M],i,j,max;
for(i=0;i<N;i++)
{
max=a[i][0];
for(j=0;j<M;j++)
scanf("%d",&a[i][j]);
if(max<a[i][j])
max=a[i][j];
printf("%d\n",max);
}
}
---------------------------------------------------------------------------------------------------
#include<stdio.h>
#define M 3
#define N 5
int main()
{
int a[M][N],i,j,max;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
scanf("%d",&a[i][j]);
for(i=0;i<M;i++) {
max=a[i][0];
for(j=0;j<N;j++)
if(max<a[i][j])
max=a[i][j];
printf("%d",max);
}
} 展开
展开全部
第一段代码是错的:
#include<stdio.h>
#define N 3
#define M 5
int main()
{
int a[N][M],i,j,max;
for(i=0;i<N;i++)
{
max=a[i][0];//这时候a[i][0]还没有读入数据,一般就是一个很大的随机数,因此后面得到的最大值就不是你输入的最大值了
for(j=0;j<M;j++)
scanf("%d",&a[i][j]);
if(max<a[i][j])
max=a[i][j];
printf("%d\n",max);
}
}
更多追问追答
追问
好吧,第一段是我的,要怎么改呢?
追答
可用最小的int设置为初值:
#include<stdio.h>
#define N 3
#define M 5
int main()
{
int a[N][M],i,j,max;
for(i=0;i<N;i++)
{
max=0x80000000;//这个是最小的int,值为-2^31
for(j=0;j<M;j++){//同时需要用括号把这段代码括起来
scanf("%d",&a[i][j]);
if(max<a[i][j])
max=a[i][j];
}
printf("%d\n",max);
}
}
中智咨询
2024-08-28 广告
2024-08-28 广告
在当今竞争激烈的商业环境中,企业需要不断提高自身的竞争力,以保持市场份额和增加利润。通过人效提升,企业可以更有效地利用有限的资源,提高生产力和效益,从而实现盈利目标。中智咨询提供全方位的组织人效评价与诊断、人效提升方案等数据和管理咨询服务。...
点击进入详情页
本回答由中智咨询提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询