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分,估计还是辛苦分。我的这个巧办法就图一乐吧,慎用。