使用循环控制在c程序中编写以生成以下输出

时间:2016-10-23 15:31:32

标签: c

使用循环控制在c中编写程序以产生以下输出

A B C D E F G
A B C D E F
A B C D E
A B C D
A B C
A B
A

我已经写了这个使用数字的outouts倒金字塔;但是在数字的立场我想用上面显示的字母输出请帮帮我

#include <stdio.h>
int main()
{
    int i, j, rows;

    printf("Enter the number of rows: ");
    scanf("%d",&rows);

    for(i=rows; i>=1; --i)
    {
        for(j=1; j<=i; ++j)
        {
            printf("%d ",j);
        }
        printf("\n");
    }

    return 0;
}

2 个答案:

答案 0 :(得分:0)

你可以尝试这个,只需使用char作为二元运算符,并且Increment和Decrement可以应用于chars和整数。 如果您想从用户那里获得输入,您可以使用scanf(“%c”)来读取字符并使用它们

char i,j;
    for ( i = 'G'; i >= 'A'; i--) { //with G and reduce it by one to get the next ending char
        for (j = 'A'; j <= i; j++) {//start with 'A' to begin every newline
            printf("%c ",j);
        }
        printf("\n");
    }
  

输出:

A B C D E F G 
A B C D E F 
A B C D E 
A B C D 
A B C 
A B 
A

答案 1 :(得分:0)

#include <stdio.h>

int main(void){
    const char *A_Z = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    int i, j, rows;

    printf("Enter the number of rows(1-26): ");
    scanf("%d", &rows);

    for(i = rows; i >= 1; --i){
        for(j = 0; j < i; ++j){
            if(j)
                putchar(' ');
            printf("%c", A_Z[j]);
        }
        putchar('\n');
    }

    return 0;
}