C语言——用“*”输出一个菱形
程序员文章站
2022-07-15 09:59:18
...
如何输出如图所示的菱形
先要将菱形分为上下两个三角形(例如图示,上为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):