当前坚持使用基于用户输入给出的数字的散列(#)创建金字塔。 CS50的示例仅描述了如何根据给定的数字创建正方形。
#include <cs50.h>
#include <stdio.h>
int main(void)
{
int n = get_int("Number:\n");
if(n>0 && n<9)
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
printf("#");
}
printf("\n");
}
}
预期结果是根据用户给出的输入创建一个金字塔,该金字塔的宽度是#的#的宽度和高度。
实际结果是一个平方,它是根据用户提供的输入#的#宽x高的量。
答案 0 :(得分:0)
您需要一个循环,该循环打印空格,直到第二个循环的计数器(j)小于n-i。请看下面:
#include <stdio.h>
int main(void)
{
int n, i, j, k;
printf("Number: ");
scanf("%d", &n);
for (i = 0; i < n; i++)
{
for (j = 0; j < n-i; j++)
{
printf(" ");
}
for (k =0; k <= i; k++)
{
printf("# ");
}
printf("\n");
}
} // end main function