C语言——用“*”输出一个菱形

   如何输出如图所示的菱形

先要将菱形分为上下两个三角形(例如图示,上为7行的正三角,下为6行的倒三角),接下来通过两个循环分别输出这两部分。首先设置变量line代表上行数,通过键盘输入,接着设置三个变量 i, j, k( i 控制循环次数, j 控制空格数, k 控制“*”的个数)。在上三角中,循环line次,行数 =i+1,空格数=line-行数=line-(i+1),“*”的个数=2*行数-1=2*(i+1)-1;在下三角中,循环line-1次,空格数=i+1,“*”的个数=2*line-2*(i+1)-1。

代码如下:

#include <stdio.h>
int main()
{
	int line = 0;
	int i = 0;
	int j = 0;
	int k = 0;	
	scanf("%d", &line);//上三角的行数
	for (i = 0; i < line; i++)//循环line次;行数=i+1
	{
		for (j = 0; j < line - (i + 1); j++)//空格=line-行数
		{
			printf(" ");
		}
		for (k = 0; k <2*(i+1)-1;k++)//*的个数=2*行数-1
		{
			printf("*");
		}
		printf("\n");
		
	}
	for (i = 0; i < line - 1;i++)//循环line-1次;
	{
		for (j = 0; j < i + 1;j++)//空格=line
		{
			printf(" ");
		}
		for (k = (2 * line) - 2 * (i + 1) -1; k>0;k--)
		{
			printf("*");
		}
		printf("\n");

	}

	return 0;
}

运行结果如下(vs2013):


发布了38 篇原创文章 · 获赞 37 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/Lsxlsxls/article/details/80165600