1 条题解

  • 0
    @ 2024-12-24 10:06:07

    C++ :

    #include<stdio.h>
    #define N 100
    // 程序功能: 蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。
    // 本题有多组数据,每组数据由一个正整数N组成。(N不大于100)
    // 对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。
    // 矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。 
    void snake_mat(int (*_mat)[N], int _n)
    {// 函数功能:为蛇形矩阵元素赋初值 
    	int i, j, n = 1;
    	for(i = 0; i < _n; ++i)
    	{
    		for(j = 0; j <= i; ++j)	
    			_mat[i - j][j] = n++;
    	}
    	for(i = 0; i < _n; ++i)
    	{
    		for(j = 0; j < _n - i; ++j)
    		{
    			printf("%d", _mat[i][j]);
    			if(j < _n - i -1) putchar(' ');
    		}
    		putchar(10);
    	}
    }
    int main()
    {
    	int mat[N][N], n;
    	while(scanf("%d",&n)!=EOF)  	/*输入数据*/
    	{
    		snake_mat(mat, n);
    	}
        return 0;
    }
    
    • 1

    信息

    ID
    1968
    时间
    1000ms
    内存
    64MiB
    难度
    (无)
    标签
    (无)
    递交数
    0
    已通过
    0
    上传者