【发布时间】:2021-05-21 15:21:43
【问题描述】:
我有一个练习需要提交。用户应该输入 2 个数字,一个是高度,一个是宽度,输出应该是一个矩形,外面的数字低,里面的数字高。 所以我写了它,但它在某些数字上不起作用,例如 9 和 3,但在大多数情况下它都有效。 我做了2个变量等于用户输入的数字,这个数据下降了,其他2个变量只是指标,循环的,它们没有意义 如果有人有不同的方向怎么做,我很想听听,只是循环..
例如:
1 1 1 1 1 1 1 1 1
1 2 2 2 2 2 2 2 1
1 2 3 3 3 3 3 2 1
1 2 3 3 3 3 3 2 1
1 2 2 2 2 2 2 2 1
1 1 1 1 1 1 1 1 1
谢谢
#include <stdio.h>
int main() {
int row, col, u, d;
scanf("%d", &row);
scanf("%d", &col);
int row_1, col_1;
for (u = 1, row_1 = row; u <= row; u++, row_1--) {
for (d = 1, col_1 = col; d <= col; d++, col_1--) {
if (col_1 < u && row_1 > col_1)
printf("%d", col_1);
else if (u > d && row_1 >= d)
printf("%d", d);
else if(row_1 > u)
printf("%d", u);
else
printf("%d", row_1);
}
printf("\n");
}
return 0;
}
【问题讨论】:
-
外数低内数高是什么意思?能举个例子吗?
-
还可以考虑更具描述性地命名您的变量:当
row和col不是当前行和列而是相同的数量时,现在很难阅读它,我不知道是什么_1后缀应该意味着,更不用说u和d。使用正确的命名也更容易发现逻辑中的任何错误。 -
我更正了你所说的
标签: c rectangles