欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-07-15 09:59:18
...

   如何输出如图所示的菱形

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):

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