alpha-floyd三角形

时间:2014-11-29 21:16:57

标签: c

我想要一个alph-numeric floyd三角形,但它显示出一些错误..可能是一个逻辑错误..

我使用的代码是

#include<stdio.h>

int main(){
    int i, j;
    char a[11]="ABCDEFGHIJ";
    int n[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
    int index = 0;

    for(i=0; i<5; i++){
        for(j=0; j<i; j++){
            if(i%2==0)
                printf(" %d ",a[index]);
            else
                printf(" %d ",n[index]);
            index++;
        }
        printf("\n");
    }
    return 0;
}

然而我得到的输出是:

1
66 67
4 5 6
71 72 73 74

我想要的输出是:

1
B C
4 5 6
G H I J

让我知道我缺少的地方..

1 个答案:

答案 0 :(得分:4)

更改

            printf(" %d ",a[index]);

            printf(" %c ",a[index]);

这会将a[index]格式化为字符而不是ASCII代码。

顺便说一下,你真的不需要数组。您可以根据index

简单地计算字母和数字
        if(i%2==0)
            printf(" %c ", 'A' + index);
        else
            printf(" %d ", index + 1);