蛇行矩阵

来源:互联网 发布:mysql.exe常用命令 编辑:程序博客网 时间:2024/04/30 10:54

排版题.输出排列成菱形的字母

Time Limit:1s Memory Limit:1000k
Total Submit:10260 Accepted:3894


Problem

蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。

Input

本题有多组数据,每组数据由一个正整数N组成。(N不大于100)

Output

对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。

矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。   

Sample Input

5

Sample Output

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

C的求解及答案

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int N, i, j;
    int line, a1, a2, temp;
    while(scanf("%d", &N) > 0){
        line = 1;
        for(i = 0; i < N; i++){
            a1 = 2+i;   a2 = 1+i;
            printf("%d", line);
            temp = line;
            for(j = 1; j < N-i; j++){
                temp += a1;
                a1++;
                printf(" %d", temp);
            }
            line += a2;
            a2++;
            putchar('/n');
        }
    }
    return 0;
}

Memory: 36K
Time: 3ms