在C中翻转弗洛伊德三角形

时间:2019-12-10 03:18:38

标签: c

https://i.stack.imgur.com/kaQCQ.png-我需要帮助的运动。我确实喜欢旋转三角形,但是效果不是很好,我需要帮助。

对于ROWS:5,这是我得到的输出:

15   14   13   12   11
 0   10    9    8    7
 0    0    6    5    4
 0    0    0    3    2
 0    0    0    0    1

我想要的输出:

 0    0    0    0    1
 0    0    0    3    2
 0    0    6    5    4
 0   10    9    8    7
15   14   13   12   11

我写的代码,但这是不正确的:

#include <stdio.h>
#define N 100
#pragma warning(disable:4996)


int main()
{
    int rows, i, j, k;
    int tab[N][N];

    printf("Enter number of rows: ");
    while (scanf("%d", &rows))
    {
        for (i = 0; i < rows; i++)
        {
            k = (rows-i) * (rows - i + 1) / 2;
            for (j = 0; j < i; j++)
                    tab[i][j] = 0;
            for (j = 0; j < rows-i; j++)
                    tab[i][j+i] = k-j;
        }
        for(i = 0;i < rows; i++)
        {
            for(j = 0; j < rows; j++)
                printf("%4d ", tab[i][j]);
            printf("\n");  
        }
    }
    return 0;
}

0 个答案:

没有答案