本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。
输入格式:
输入在一行中给出一个正整数n(1≤n<7)。
输出格式:
输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。
输入样例:
4
输出样例:
A B C D
E F G
H I
J
#include <stdio.h>
int main()
{
char ch='A';
int n,i,j;
scanf("%d",&n);
for(i=1;i<=n;i++){ //控制输出的行数
for(j=1;j<=n-i+1;j++){
printf("%c",ch++); //输出字符
printf(" "); //输出空格
}
printf("\n"); //换行
}
return 0;
}
总结:
由题目可知,输出的首字母是由大写字母A开始,因此定义一个字符类型的初始值为A,然后根据输出样例可知,是输出一个平面图形,因此用i控制行,j控制列;由样例可以知道(总共由4行),每一行输出的字符数:第一行输出四个字符(4=4-1+1);第二行输出三个字符(3=4-2+1);第三行输出两个字符(2=4-3+1);第四行输出一个字符(1=4-4+1);因此,当输入n行时,第i行输出的字符数为n-i+1;所以j<=n-i+1。还需要注意每两个字符之间要输出一个空格。