//该程序只支持输入大写字母,输入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;
}
运行例子结果如下:

本文介绍了一段C语言程序,它接收大写字母G作为输入,然后输出从A到G的三角形字母表。通过ASCII码计算实现,展示了如何利用递归和循环结构生成特定的字母排列。
412

被折叠的 条评论
为什么被折叠?



