作者在 2013-10-14 16:30:25 发布以下内容
Problem Description
Input
输入数据首先包含一个整数T,表示测试实例的个数,然后是T行测试数据。每行包括1个整数n (1<=n<=9)
Output
对于每组测试数据n。输出一个有2*n-1行的,由数字1..n..1组成的转向三角形(参看Sample Output)。
Sample Input
2 3 5Sample Output
1 22 333 22 1 1 22 333 4444 55555 4444 333 22 1
#include<iostream> using namespace std; int main() { int t; cin>>t; for(int i=0;i<t;i++) { int n; cin>>n; for(int j=0;j<n;j++) { for(int k=0;k<j+1;k++) { cout<<j+1; } cout<<endl; } for(int l=n-1;l>0;l--) { for(int m=0;m<l;m++) { cout<<l; } cout<<endl; } } return 0; }
这题我是分成两部分来考虑的,拿n=3为例,先考虑的是从1到333为一部分,再从22到1为一部分,这样我就需要分别用到两个循环,这两个循环的讲解可以参考我的另一个博客“字符梯形”中有讲解,循环中那个小于或大于的界限可以慢慢试过去,当然啦,如果你先前已经想的很清楚了,那完全可以一下子写上去,大不了最后再做修改!!