《算法笔记》3.3小节——入门模拟->图形输出
C无难度
#include<stdio.h> int main() { int n; scanf("%d",&n); while(n--) { int h; scanf("%d",&h); for(int i=1;i<=h;i++) { for(int j=1;j<=h-i;j++) printf(" "); for(int j=1;j<=h+2*i-2;j++) printf("*"); for(int j=1;j<h-i;j++) printf(" "); printf(" "); } } }
D无难度
注意一下数量为1是只输出一次的
#include<stdio.h> int main() { int n; while(scanf("%d",&n)!=EOF) { for(int i=n;i>=1;i--) { for(int j=1;j<=n-i;j++) printf(" "); printf("*"); for(int j=1;j<=i-1;j++) printf(" *"); for(int j=1;j<=n-i;j++) printf(" "); printf(" "); } for(int i=2;i<=n;i++) { for(int j=1;j<=n-i;j++) printf(" "); printf("*"); for(int j=1;j<=i-1;j++) printf(" *"); for(int j=1;j<=n-i;j++) printf(" "); printf(" "); } } return 0; }