用C打印带有3个不同符号的三角形

时间:2018-11-14 12:56:21

标签: c

我已经进行了一次练习,其中我必须以以下方式使用三个不同的符号在控制台(C)中打印一个三角形:

  1. 程序必须询问三角形将具有多少行。

  2. 程序将通过以下方式打印三角形: 1

从外到内,第一个三角形将由*组成,第一个三角形将由-组成,第一个三角形将由$组成,然后沿相反的方向……

这是我的实际代码:

#include <stdio.h>

int num = 0; //Var to store the user input.
int blank;  //Var to store number of blank spaces.

int main() {

printf("Number of rows? ");
scanf("%d", &num);
printf("\n");

blank = num - 1;

//For loop to print each row of the triangle.
for(int k = 1; k <= num; k++) {

    //For loop to print each blank space.
    for(int j = 1; j <= blank; j++) {

        printf(" ");
    }

        blank--; //Decrease number of blank spaces.

    //For loop to print each symbol of the triangle.
    for(int r = 1; r <= 2 * k - 1; r++) {

        if(r % 2 == 0) {
            printf("-");
        }

        else if(r % 3 == 0) {
            printf("$");
        }

        else {
            printf("*");
        }

    }

    printf("\n");

    }

    blank = 1;

    return 0;
}

这就是它的打印内容:2

有人可以帮我吗?

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

首先尝试在纸上找出图案。

例如,美元符号在最外面的三角形顶部下方两行开始。所有后续美元符号均在前一个美元符号之前或之后的每一列。这样,新行的每个字符都将远程依赖于第一个字符。

一旦了解了基本模式,就可以开始编写循环了。