本实例要求从键盘输入任意整数 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 * *** ***** ******* ********* *********** ************* *************** ***************** ******************* ********************* *********************** ************************* *************************** ***************************** ******************************* ********************************* *********************************** ************************************* ***************************************