C语言输出倒三角

版权声明:本文为博主原创文章,只要注明出处,喜欢可以随意转载,希望能帮到你。 https://blog.csdn.net/weixin_41287260/article/details/88688023

方法好像挺多的,我这里值介绍一种:(里面有注释)

#include<stdio.h>

//打印倒三角
/*
*_*_*_*
_*_*_*
__*_*
___*
*/

//思路:先定义一个字符数组,把第一行(n个*+n-1空格)显示出来,
//后面的每行就先输出n-i空格,然后再输出该字符数组
void print_r_triangle(int n)
{
	char a[2*n-1];	//n+n-1
	int i,j;
	//为字符数组赋值
	for(i=0; i<2*n-1; i++) {
		if(i%2==0) {
			a[i]='*';
		} else {
			a[i]=' ';
		}
	}

	//测试:打印字符数组
//	for(i=0; i<2*n-1; i++) {
//		printf("%c",a[i]);
//	}

	//打印倒三角
	for(i=0; i<n; i++) {	//n行 
		for(j=0; j<(2*n-1)-i; j++) {
			//如果是第一行,就输出全部字符
			if(i==0) {
				printf("%c",a[j]);
			} else {	//否则就先输出空格,然后从行数i对应位置开始输出字符数组
				if(j<i) {
					printf(" ");
				} else {
					printf("%c",a[j-i]);
				}
			}
		}
		printf("\n");
	}
}

int main()
{
	print_r_triangle(15);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_41287260/article/details/88688023