作为c初学者, 我正在尝试在 C 中连续执行 N 个星号(和 N 行)。
示例与
n = 3
:
预期结果:
***
**
*
我尝试使用此代码
int main(void)
int n;
while (1) {
printf("Please input a positive number\n");
scanf(" %d", &n);
if (n > 0) {
break;
}
}
for (int i = 1; n >= i; i++) {
printf("*");
}
我只在一行上完成了 N 星号,我如何更新我的代码以匹配预期的输出
正如@pmg所说,添加第二个循环来打印每一行可能是一个不错的选择
#include <stdio.h>
int main(void) {
int n;
while (1) {
printf("Please input a positive number\n");
scanf(" %d", &n);
if (n > 0) {
break;
}
}
// Write N line
for (int line = 0; line < n; line ++) {
// In each lines write n - line asterisk
for (int row = 0; row < n - line; row++) {
printf("*");
}
// At the end of the line print the newline character
printf("\n");
}
return 0;
}
n - line
是允许您在每行上执行 N-1 模式的部分。
如果可能的话,我建议您从索引 0 开始 for 循环。
我还建议您在 C 中搜索所需的循环,这里有 2 个示例: