C语言打印输出星号三角形案例讲解
我们先看一个星号三角形的例图:
星号三角形的特点如下
以打印输出和例图一模一样的图案为例进行代码编写。
思路分析
1)先打印输出星星前没有空格的星号三角形 。
代码如下:
#include <stdio.h>
# define N 4
void main(){
int i,j,k;
for(i=1;i<=N;i++){//控制打印输出4行星星
for(j=1;j<=2*i-1;j++){//控制打印输出每行的星星个数
printf("*");
}
printf("n");//打印完一行后都需要换行
}
}
代码运行结果如下:
2)在原来代码的前提下,加上控制打印输出每一行第一个星星前空格个数的for循环语句。
案例全部代码如下
#include <stdio.h>
# define N 4
void main(){
int i,j,k;
for(i=1;i<=N;i++){//控制打印输出4行星星
for(k=1;k<=N-i;k++){
printf(" ");//控制打印输出每一行第一个星星前的空格个数
}
for(j=1;j<=2*i-1;j++){//控制打印输出每行的星星个数
printf("*");
}
printf("n");//打印完一行后都需要换行
}
}
代码运行结果如下
说明:代码已经写完,图案也打印输出完全正确。可是有一点,要是在考场上紧张找不到规律怎么办呢?巧办法来了:他要什么图案我们就打印输出什么图案啊,暴力做题法,一行一行的按图案打印输出星星啊!假如行数在10行以内这个办法完全可以,要是控制打印输出100行我的这个巧办法失效还是老老实实找规律用循环打印输出吧。
我的这种巧办法老师看了都直呼内行,双击666!
代码如下:
#include <stdio.h>
void main(){
printf(" *n");
printf(" ***n");
printf(" *****n");
printf("*******n");
}
代码运行结果如下:
是不是特别简单,我自己都要佩服我自己了。
一些说明:
老师看了我用printf输出星星图案的答案,也就是我的巧办法,给了我2分,估计还是辛苦分。我的这个巧办法就图一乐吧,慎用。