7-1 输出三角形字符阵列 (20 分)
本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。
输入格式:
输入在一行中给出一个正整数n(1≤n<7)。
输出格式:
输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。
输入样例:
4
结尾无空行
输出样例:
A B C D
E F G
H I
J
结尾无空行
我的答案:
首先分析题目,为什么n要小于7?因为字母一共26个如果n大于7的话三角形就不能打印出来了,然后我们观察输出结果可以看出他可以看成一个等腰三角形两条边都是n=4,这时我们要考虑双重循环了,因为我们不仅要每一行要重复打印,而且要重复打印四行。
对于双重循环我们要清楚,当进入循环后,循环1每进行一次,循环二就要进行3次。由此我们可以得到本道题的解法。
我们首先大循环要进行n次,因为我们要打印n行。在小循环里面第一次我们要打印n个字母,也就是说要循环n次,之后进行第二次大循环这时我们就要在第二次小循环打印n-1个字母了,就是要循环n-1次。所以要在每一次小循环结束后要将n-减一。当然别忘了打印一个回车用来换行。
for(x=1;x<=3;x++) \\1
{
for(i=1;i<=3;i++) \\2
{
b;
}
i=1;
}
#include<stdio.h>
int main()
{
int a,c,x,i,n;
char m='A';
scanf("%d",&a);
x=a;
for(i=1;i<=a;i++)
{
for(c=1;c<=x;c++)
{
printf("%c ",m);
m++;
}
x=x-1; \\用来使下一行打印的少一个字母
printf("\n");
}
}