作者在 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为一部分,这样我就需要分别用到两个循环,这两个循环的讲解可以参考我的另一个博客“字符梯形”中有讲解,循环中那个小于或大于的界限可以慢慢试过去,当然啦,如果你先前已经想的很清楚了,那完全可以一下子写上去,大不了最后再做修改!!