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"); } }