粘墙“三角形”
描述
输入一些正整数(≤26),编程输出以这些正整数为边长的附着墙而立的字母三角。
输入
几个正整数
输出
每个正整数对应的图案。每组图案之间空一行。
代码
#include <iostream>
using namespace std;
int main()
{
int n; char zimu;
while(cin >> n)
{
zimu = 'a';
for(int a = n; a >= 1; a--)
{
cout << zimu;
for(int x = 1; x <= n; x++)
{
if(x < a)
cout << " ";
if(x == a)
cout << zimu;
if(x > a)
{
zimu = zimu + 1;
cout << zimu;
}
}
zimu = 'a';
cout << endl;
}
cout << endl;
}
return 0;
}
思路
要求测试几组数据,可以每输入一组就测试一组,这个可以用while来控制,要求输出的图形是有规律的,每一行开头是初始字母a,然后a出现的位置类似于正方形的对角线,那么同样可以利用画对角线的方法来填充a,这时我们需要一个变量x来作为填充字母的媒介,在while循环中设置两重循环,外层循环用来记录a出现的位置,内层循环用来记录x的位置,与此同时加入分支语句作为判断条件,当x < a时填入空格,x = a时填入a,x > a时先做zimu自增再填入字母,关键是内层循环每完成一次就要把zimu重新赋值a。