想改善这个问题吗?更新问题,使其仅通过编辑这篇文章来关注一个问题。
15 小时前关闭。
改进这个问题我在二维阵列上做了一个乘法表,但我也想改变这个代码并对我输入的 5 个值进行。
我会输入:
2.5 3.0 4.6 6.3 8.1
2.5
3.0
4.6
6.3
8.1
它将乘以 2.5 * 2.5 等。
int tab[5][5];
for(int i=1; i<=5; i )
{
for(int y=1; y<=5; y )
{
tab[i-1][y-1]=i*y;
cout << tab[i-1][y-1] << " | ";
}
cout << endl;
}
有关如何执行此操作的任何提示?
uj5u.com热心网友回复:
好的,现在假设这个 2D 阵列始终是正方形,并且列值与行值相同(如您在示例中所示)。
您将需要存盘我们想要相乘的这些值。我们称这个阵列为 values x
。
您不必对当前代码进行太多更改,但i*y
我们想要做的不是x[i] * x[y]
。注意:您不能从 1、开始i
和y
从零开始回圈。此外,您还需要在索引时去掉“-1”tab[i][y]
哦,我差点忘了。如果要使用小数,int
则不能使用。使用float
来代替。您可能需要使用我将在下面展示的一些技巧将它们四舍五入为 1 位小数:
float tab[5][5];
float x[5]; // You will have to give x the 5 values that you want to multiply
for(int i=0; i<=4; i )
{
for(int y=0; y<=4; y )
{
tab[i][y] = x[i] * x[y]; // This can have many decimals!
tab[i][y] = roundf(tab[i][y] * 10) / 10; // This will multiply with 10 to shift the number 1 decimal place, then we round it to zero decimals, then we divide it with 10, to add 1 decimal. You can change to 100 if you want 2 decimals
cout << tab[i][y] << " | ";
}
cout << endl;
}
希望这可以帮助!^_^
0 评论