分析:
根据题意输出即可,对于每一行,输出当前行的前置空格,最后不要忘记补全后面的空格,不然无法ac。
题解:
#include <bits/stdc++.h> using namespace std; int main() { int n = 0; //循环读入n while(scanf("%d", &n) != EOF) { int space = 0; //外循环遍历每一行 for(int i = 0; i < n; ++i) { //输出前导的空格 for(int j = 0; j < space; ++j) printf(" "); printf("*"); //输出剩下的空格 for(int k = 0; k < n-i-1; ++k) printf(" "); printf("\n"); //空格数自增 space++; } } return 0; }
总结:
复杂图案的输出练习,基本思路可以参考之前的金字塔图案等题目,进行灵活改动。