蛇形矩阵问题

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

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

【输出】对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。

【输入范例】5   

【输出范例】1 3 6 10 15 2 5 9 14 4 8 13 712 11  

 

程序代码:

#include<stdio.h>

int main()

{

    intN,i,j,s[100][100];      //i表示二维数组是s[][]的行,j表示二维数组是s[]的列

    scanf("%d",&N);             //输入N

    s[0][0]=1;               //给二维数组s[][]的第一个元素赋初值为1

    printf("%d",s[0][0]);       //输出二维数组s[][]的第一个元素

    for(i=0;i<N-1;i++)          //循环遍历,利用元素值和行列下标i、j的关系,通过数学递推关系,按蛇形矩阵输出

    {

       for(j=0;j<N-i-1;j++)

       {

           s[i][j+1]=s[i][j]+i+j+2; //按蛇形矩阵,一行一行的生成

           printf("%d",s[i][j+1]);

       }

       //printf("\n");          //每输出一行后换行

       s[i+1][0]=s[i][0]+i+1;//从第二行开始,生成每一行的第一个元素值    printf("%d",s[i+1][0]);    //从第二行开始,输出每一行的第一个元素值

    }

    printf("\n");

    return0;

}

 

全部评论

相关推荐

牛客604067584号:我9月初投递10月入池,泡到现在。hr全部离职,当然没离职的时候也联系不上。我发邮件给campus也不回我
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务