1077: 空心菱形
时间限制: 1 Sec 内存限制: 128 MB
提交: 7791 解决: 5008
[状态] [讨论版] [提交] [命题人:admin]
题目描述
输入一个整数n,(1<=n<=20),输出一个空心菱形,其中每个边由n个’*'组成。
输入
输入包含一个整数,n(1<=n<=20)
输出
输出一个空心菱形,每个边由n个’*'组成
样例输入 Copy
5
样例输出 Copy
*
-
-
-
*
-
*
-
*
-
-
#include <stdio.h>
int main()
{
int n, a = 0, b = 0;
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
for (int j = n - i - 1; j > 0; j--)
{
printf(" "); //每行首先输出n-1-i个空格。因为i初始为0所以n-i-1
}
printf("*"); //输出第一个星星
for (int j = 0; j < 2 * (i)-1; j++)
{
printf(" "); //输出两个星星中间的空格
}
if (i != 0) //头部只需要一个星星
{
printf("*");
}
printf("\n");
}
for (int i = n - 2; i >= 0; i--)
{
for (int j = n - i - 1; j > 0; j--)
{
printf(" "); //每行首先输出n-1-i个空格。因为i初始为0所以n-i-1
}
printf("*"); //输出第一个星星
for (int j = 0; j < 2 * (i)-1; j++)
{
printf(" "); //输出两个星星中间的空格
}
if (i != 0) //尾部也只需要一个星星
{
printf("*");
}
printf("\n");
}
}