一、问题描述
用C编程打印出如下图所示的三角座
二、问题分析
像这种要求打印某种特殊图形的题,首先要分析该图形的特点和规律。
经分析可知:第1行有一个*;第2行有3个*;第3行有5个*。所以第i行有(2*i-1)个*。最后一行从一行开头就开始打印*,倒数第二行空一格开始打印*,倒数第三行空两格开始
打印*......所以假设共有n行,那么第i行需要空(n-i)格连续打印出(2*i-1)个*。
三、实现代码
#include<stdio.h>
void PrintTrangle (int);
int main(void)
{
int rowCount;
printf("请输入欲打印三角座的行数:");
scanf("%d",&rowCount);
PrintTrangle(rowCount);
return 0;
}
void PrintTrangle(int rowCount)
{
int rowNum,i;
for(rowNum=1;rowNum<=rowCount;rowNum++)
{
for(i=1;i<=rowCount-rowNum;i++)
printf(" ");
for(i=0;i<2*rowNum-1;i++)
printf("*");
printf("\n");
}
}
输出结果: