本实例要求从键盘输入任意整数 n,通过程序运行输出对应高度为 n 的等腰三角形。
算法思想
① 设计以高度 n 为参数的一个函数,函数返回值为空,在函数体中实现等腰三角形的打印;图形的最终打印需要利用二层循环设计实现。
② 图形共输出 n 行,外循环变量 i 表示 n 行的输出,循环变量的变化范围为 0~(n—1)。
③ 循环变量 j 表示每一行的“*”号输出。由于每一行的输出不同,第 j 行输出空格的个数为 (n—i),第 j 行输出“*”号的个数为(2*i+1)。控制“*”号输出的内循环变量 j 的变化范围为 0~(2*i)。
④ 在主函数中输入 n 作为实参,调用定义函数,打印等腰三角形。
程序代码
#include
int trangle(int n)
{
int i,j;
for(i=0;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 * *** ***** ******* ********* *********** ************* *************** ***************** ******************* ********************* *********************** ************************* *************************** ***************************** ******************************* ********************************* *********************************** ************************************* ***************************************