【题目描述】
如下图所示:在下三角阵列的方格中,按从左到右、从上到下的次序逐行依次填入大写字母、数字、小写字母。在填入字母A之后,下一个方格从B开始填入;在填入字母Z之后,下一个方格从数字0开始;在填入数字9之后,下一个方格从字母a开始;在填入字母z之后,下一个方格从字母A开始。以此类推……
A | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
B | C | ||||||||||
D | E | F | |||||||||
G | H | I | J | ||||||||
K | L | M | N | O | |||||||
P | Q | I | S | T | U | ||||||
V | W | X | Y | Z | 0 | 1 | |||||
2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ||||
a | b | c | d | e | f | g | h | i | |||
j | k | l | m | n | o | p | q | i | s | ||
t | u | v | w | x | y | z | A | B | C | D |
.......
【输入】
整数N(1≤N≤100)
【输出】
N行下三角阵列,填充字母和数字之后的内容。每行结尾直接换行,没有多余的空格。
【样例输入】
【测试样例1】
1
【测试样例2】
3
【测试样例3】
11
【样例输出】
【测试样例1】
A
【测试样例2】
A
B C
D E F
【测试样例3】
A
B C
D E F
G H I J
K L M N O
P Q R S T U
V W X Y Z 0 1
2 3 4 5 6 7 8 9
a b c d e f g h i
j k l m n o p q r s
t u v w x y z A B C D
【代码]
#include <stdio.h>
int main(int argc, char *argv[])
{
int i,j,n;
scanf("%d",&n);
char ch='A';
for(i=1;i<=n;i++){
for(j=1;j<=i;j++){
printf("%c ",ch);
ch++;
if(ch=='Z'+1) ch='0'; //分支结构
if(ch=='9'+1) ch='a';
if(ch=='z'+1) ch='A';
}
printf("\n");
}
return 0;
}
【小结】
【注意】 字符’1’和整数1是不同的概念。
字符’1’只是表示一个形状为’1’的符号,在需要时按原样输出,在内存中以ASCII码形式存储,占1个字节。
整数1是以整数存储方式(二进制补码)存储的,占2个或4个字节。
整数运算1+1等于整数2。
字符’1‘+’1‘并不等于整数’2‘或字符’2‘。