【发布时间】:2016-04-22 09:00:56
【问题描述】:
我正在尝试使用一个二维数组来分配用户输入,该数组需要五个数字并将它们平方。程序应计算并存储数组中每个用户的平方值。
我使用当前代码获得了正确的输出,但我无法弄清楚如何将输入分配给数组,而不会在输出中出现错误。
#include <stdio.h>
int main(void)
{
int disp[2][5];
int x, y;
printf("Please enter 5 integer values:\n");
for(x=0; x<=2; x++) {
for (y=0; y<=5; y++) {
scanf("%d", &x);
printf("[ %d ][ %d ]\n", x, x*x);
}
}
return 0;
}
【问题讨论】:
-
您使用
x作为循环变量和输入变量。那很糟。此外,当数组有 5 个元素时,数组的索引为 0、1、2、3、4。所以for循环应该是for(y=0;y<5;y++)。 -
使用一个变量进行循环,使用另一个变量进行读取。然后只需
disp[x][y] = read_variable; -
我认为你应该有三个循环。第一个循环从用户那里读取五个数字并将它们存储在数组的第一行中。第二个循环计算每个数字的平方并将其存储在数组的第二行中。第三个循环显示数字及其方块。
标签: c arrays variable-assignment scanf