分析:
使用两重循环,内循环中逐步增大所需打印的数量即可。
题解:
#include <bits/stdc++.h> using namespace std; int main() { int n = 0; //循环读入n while(scanf("%d", &n) != EOF) { //外循环控制行数 for(int i = 1; i <= n; ++i) { //内循环控制列数,保证列数不多于行数 for(int j = 0; j < i; ++j) { //当i == j时候输出星号,否则输出空格 if(j == i-1) printf("*\n"); else printf("* "); } } } return 0; }
题解2:
#include <bits/stdc++.h> using namespace std; int main() { int n = 0; //题解2思路和题解1一直,将上述的for循环换成了while循环 while(scanf("%d", &n) != EOF) { int i = 1; while(i <= n) { int j = 0; while(j < i) { if(j == i-1) printf("*\n"); else printf("* "); ++j; } ++i; } } return 0; }
总结:
两重循环的控制使用。