C语言编程,希望能运用尽量简便的方法,我的方法太复杂

img

img


还挺复杂
半夜写的
#include <stdio.h>
int main()
{
char a;
int j=0;
int t;
int k=0;
while(1)
{
printf("请输入一个字母:");
scanf("%c",&a);
getchar();
if(('A'<=a&&a<='Z')||(a>='a'&&a<='z'))
{
int s=a-'A';
//printf("s:%d\n",s);
int t=a;
//printf("t:%d \n",t);
if(65<=t&&t<=90)
{
while(j<=s)
{
while(k<=j)
{
printf("%c",t-k);
k++;
}
j++;
k=0;
printf("\n");
}
}
j=0;
if(97<=t&&t<=122)
{
while(j<=s-32)
{
while(k<=j)
{
printf("%c",t-k);
k++;
}
j++;
k=0;
printf("\n");
}
}
break;
}
}
}

供参考:

#include <stdio.h>
#include <ctype.h>
int main()
{
    char ch, c;
    int i, j, n;
    while (1)
    {
        printf("请输入一个字母:");
        fflush(stdout); rewind(stdin);
        scanf("%c", &ch);
        if (isalpha(ch)) break;
    }
    if (islower(ch))
        n = ch - 'a';
    else
        n = ch - 'A';
    for (i = 0; i <= n; i++)
    {
        for (j = 0, c = ch; j <= i; j++)
            printf("%c", c--);
        printf("\n");
    }
    return 0;
}

img