当前位置: 代码迷 >> C语言 >> [求助]请看看 这个程序错在那里
  详细解决方案

[求助]请看看 这个程序错在那里

热度:147   发布时间:2006-01-22 12:48:00.0

# include <stdio.h>
void main()
{int a[3][4],x,y,max[3]={0},max1=0;
for(x=0;x<=2;x++)
for(y=0;y<=3;y++)
scanf("%d",&a[x][y]);
puts ("\n");
for(x=0;x<=2;x++)
for(y=0;y<=2;y++)
{if(a[x][y]<a[x][y+1])
{
if (max[x]<a[x][y+1])
max[x]=a[x][y+1];
}

else if (max[x]<a[x][y])
max [x]=a[x][y];
printf ("%5d",max[x]);
}
for (x=0;x<3;x++)
printf ("%d",max[x]);
for(x=0;x<=1;x++)
{if(max[x]<max[x+1])
{if (max1<max[x+1])
max1=max[x+1];}
else
if (max1<max[x])
max1=max[x];
printf ("%5d",max1);
}
puts ("'\n'");
printf("the max number is %d\n",max1);

}
你原来的程序比较的时候是这样的:
例如输入5 2 3 4
5比2大 ,则max[x]=5,然后又到了2与3比,再把3的值赋给了max[x].
这样就把5没有了。。接着的就自己想。
还有你的算法太麻烦了,我建议你再想另外一种。
可以参考以下我修改你的:
# include <stdio.h>
void main()
{int a[3][4],x,y,max=0;
for(x=0;x<=2;x++)
for(y=0;y<=3;y++)
scanf("%d",&a[x][y]);
puts ("\n");
for(x=0;x<=2;x++)
for(y=0;y<=2;y++)
{
if (max<a[x][y])
max=a[x][y];
}
printf ("the max number is %d\n",max);
}

加油啊


----------------解决方案--------------------------------------------------------
谢谢了,我一定加油
----------------解决方案--------------------------------------------------------
scanf("%d,%d",&a[x][y]);

这句话有问题吧?!?!?!?!?!

我也不知道啊

我门外汉一个
----------------解决方案--------------------------------------------------------
  相关解决方案