【发布时间】:2019-10-10 13:26:41
【问题描述】:
我的任务是编写一个短程序,允许输入 1-50 的数字,然后从该数字中用星号组成的三角形将输出那么多层楼高。例如, 输入 2 将输出一个 * 三角形,顶部有一个 *,底部有第二行两个 * 输入 3 将输出一个 * 三角形,顶部有一个 *,中间有第二行两个 *,然后底部有第三行三个 *,依此类推。 我知道一种方法可以通过为每个数字 1-50 制作一个嵌套的 if 门来做到这一点,但我想知道是否有更有效的方法来做到这一点?
我知道一种方法可以通过为每个数字 1-50 制作一个嵌套的 if 门来做到这一点,但我想知道是否有更有效的方法来做到这一点?
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
//gather user input
int triNum;
char a;
scanf("%i", &triNum);
//make sure input is <= 50
if(triNum <= 50)
{
if(triNum == 1)
{
printf("*");
}
if (triNum == 2)
{
a = '*';
printf("*\n");
printf("*%c\n", a);
}
}
return 0;
}
在对每个单独的数字进行编码时,没有实际的错误消息,我只是想知道一种更有效的方法吗?
【问题讨论】: