C语言:输出大写的三角形字母表(进阶)
//该程序只支持输入大写字母,输入G,就输出A~G的三角形字母表
/*
从A到Z的输出数量应该是1 3 5 7 9.....
*/
利用这个特性,对空格和字母进行输出
A字母在ascii码里面是65,所以减64,如果减出来的结果等于1就是A,直接输出A即可。
如果大于1,就进行输出字母按照三角形的顺序输出结果。
#include<stdio.h>
int main()
{
int h,i;
char j,k,c;
j = getchar(); //输入字符
k = j - 64;
if(k > 1)
{
for(h = 1; h <= k; h++)
{
printf("\n");
/*
空格的输出是输入的字母到A的距离并且每次递减一,
正好利用内外循环,这个距离减去一个递增的h变量
*/。
for(c = 0; c < k - h; c++)
{
printf(" ");
}
for(i = 1; i <= h * 2 - 1; i++)
{
printf("%c", 64+h);
}
}
}
else
{
printf("%c",j);
}
return 0;
}
运行例子结果如下:
本文来自博客园,作者:竹等寒,转载请注明原文链接。