不显示空格

Not Displaying Spaces

我对 C++ 和一般的一切都很陌生。我不明白为什么我的代码不起作用:

#include <cstdio>

int main(){
 
int a;

scanf("%d", &a);

for(int i = 1; i < a; i++){
 printf(" ");

}

printf("*");

}

我想做的是将空格数作为用户输入的值减去并在末尾添加 * 所以如果 a = 10 :

     *

但是当我尝试时,空格不显示。 理想情况下,我要做的是获得类似以下内容的输出:

   *
  **
 ***
****

长度取决于用户输入,如果是 10,则空格为 9,末尾的 * 为第十位。

您将不得不使用 3 个 for-loops(其中两个嵌套在一个中)。每行的父 for 循环。嵌套的两个用于空格和星号。

#include <cstdio>
int main()
{

    int a;

    scanf("%d", &a);

    for(int i=1; i<a; i++)
    {
        for(int j=i; j<a; j++)
            printf(" ");
        for(int k=0; k<i; k++)
            printf("*");

        printf("\n");
    }
    return 0;
}

如果将 a 的值设为 5,即 a=5,您将获得所需的输出。

想详细了解可以关注这个linkstar patterns in c

您的代码可能包含很多错误。这是可以理解的,因为您是 C/C++ 的新手。在 beecrowd 中尝试 problem-solving 以提高您的 problem-solving 能力并以更好的方式学习 C/C++。随着您的进步,这些错误会自动消失。但秘诀在于练习并且永不放弃。 祝你好运!