|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
int main()
{
int num1[4][4],num2[4];
int a, b,max;
for (a = 0; a < 4; a++)
{
for (b = 0; b < 4; b++)
{
scanf("%d", &num1[a][b]);
}
}
for (a = 0; a < 4; a++)
{
for (b = 0; b < 4; b++)
{
if (num1[b] < num1[b + 1])
max = num1[b + 1];
}
num2[a] = max;
}
for (a = 0; a < 4; a++)
{
printf("%d ", num2[a]);
}
return 0;
}
请问一下!!哪里出错了~~ 输出的4个值不对劲
num1是二维数组,你只写一个下标肯定出错的
第二个for循环改成下面
for (a = 0; a < 4; a++)
{
max = num1[a][0];//max先保存第一个数
for (b = 1; b < 4; b++)//第一个数已经赋值给max,所以从第二个数开始比较
{
if (max < num1[a][b])//这里要拿max和num1[a][b]比较,而不是把num1[a][b]和num1[a][b+1]这两个相邻的数比较
max = num1[b + 1];
}
num2[a] = max;
}
|
|