【发布时间】:2019-01-05 12:01:14
【问题描述】:
我被困在原地。我无法提出算法,并将填充方阵如下:
"从用户n处获取一个不超过20的自然数n。如下图填写方表。主对角线以下的数字(a21;a31;a32等)由用户给定。"
#include <stdio.h>
int main() {
int tab[20][20] = { {0},{0} };
int size = 0;
printf("Enter the natural number n not more than 20: ");
while (scanf_s("%d", &size) != 1 || size < 0 || size >20 || getchar() != '\n')
{
while (getchar() != '\n');
printf("Error. Correct!");
}
for (int x = 0; x < size; x++)
{
for (int y = 0; y < size; y++)
{
if (y==x)
{
tab[x][y]=1; // what's next?
}
}
}
for (int x = 0; x < size; x++)
{
for (int y = 0; y < size; y++)
{
printf("%d ",tab[x][y]);
}
printf("\n");
}
return 0;
}
【问题讨论】:
-
int tab[20][20] = { {0},{0} };-{0}或{{0}}就足够了。 -
@AnttiHaapala 是正确的 int tab[20][20] = { 0 } 工作完美
-
所以问题是:你想问对角线under的数字吗?那么,对角线下元素的坐标是什么 - 仅当 x,y 在对角线下时才要求用户输入,使用上面给出的相同循环,提示 printf 的给定坐标?你有什么问题?
-
我在对角线上方放置数字时遇到问题