问题 D: 沙漏图形 tri2str [1*+]
时间限制: 1 Sec 内存限制: 128 MB
提交: 341 解决: 240
[提交][状态][讨论版][命题人:外部导入]
题目描述
问题:输入n,输出正倒n层星号三角形。首行顶格,星号间有一空格,效果见样例
输入样例:
3
输出样例:
数据规模 1<= n <=50
自己代码:
#include<iostream>
int main() {
int n;
//char a[99][99];
scanf("%d", &n);
if (n >= 1 && n <= 50) {
//先输出上半部分
for (int i = 0; i < n - 1; i++) {
//在输出第一个'*'之前,先输出相应的空字符
for (int j = 0; j <i; j++) printf(" ");
for (int j = 0; j < n - i; j++) {
printf("* ");
if (j == n - i - 1) printf("\n");
}
}
//输出中间部分,先输出n-1个空字符
for (int i = 0; i < n - 1; i++)
{
printf(" ");
}
printf("*\n");
//输出下半部分
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 2; j++) printf(" ");
for (int j = 0; j < i + 2; j++) {
printf("* ");
if (j == i + 2 - 1) printf("\n");
}
}
}
system("pause");
return 0;
}