C语言输出等腰三角形

本实例要求从键盘输入任意整数 n,通过程序运行输出对应高度为 n 的等腰三角形。

算法思想

① 设计以高度 n 为参数的一个函数,函数返回值为空,在函数体中实现等腰三角形的打印;图形的最终打印需要利用二层循环设计实现。

② 图形共输出 n 行,外循环变量 i 表示 n 行的输出,循环变量的变化范围为 0~(n—1)。

③ 循环变量 j 表示每一行的“*”号输出。由于每一行的输出不同,第 j 行输出空格的个数为 (n—i),第 j 行输出“*”号的个数为(2*i+1)。控制“*”号输出的内循环变量 j 的变化范围为 0~(2*i)。

④ 在主函数中输入 n 作为实参,调用定义函数,打印等腰三角形。

程序代码

#include <stdio.h>
int trangle(int n)
{
    int i,j;
    for(i=0;i<n;i++)
    {
        for(j=0;j<=n-i;j++)
            putchar(' ');
        for(j=0;j<=2*i;j++)
            putchar('*');
        putchar('\n');
    }
    return 0;
}

int main()
{
    int n;
    printf("Enter n:");
    scanf("%d",&n);
    printf("\n");
    trangle(n);
    return 0;
}

调试运行结果

当 n 取值为 8 时,打印出的等腰三角形如下所示:
Enter n:8

         *
        ***
       *****
      *******
     *********
    ***********
   *************
  ***************
当 n 取值为 20 时,打印出的等腰三角形如下所示:
Enter n:20

                     *
                    ***
                   *****
                  *******
                 *********
                ***********
               *************
              ***************
             *****************
            *******************
           *********************
          ***********************
         *************************
        ***************************
       *****************************
      *******************************
     *********************************
    ***********************************
   *************************************
  ***************************************