题解 | #蛇形矩阵#

蛇形矩阵

http://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e

#include<stdio.h>
int main(){
    int num,i,j;
    int arr[100][100]={0};
    int k=1;  //用于每行数字叠加
    int m=0;  //用于第一列数字叠加
    scanf("%d",&num);
    for(i=0;i<num;i++)   
    {
        for(j=0;j<num-i;j++)
        {
            if(j==0)    //第一列
            {
                if(i==0)  //第一行,只有第一行才会执行 m+1
                {
                    arr[i][j]=1;
                    m++;
                }
                else  //其他行
                {
                    arr[i][j]=arr[i-1][j]+m;
                    m++;
                }
            }
            else    //其他列
            {
                arr[i][j]=arr[i][j-1]+i+k;
            }
            k++;
        }
        k=1;
    }
    
    for(i=0;i<num;i++)
    {
        for(j=0;j<num-i;j++)
        {
            printf("%d ",arr[i][j]);
        }
        printf("\n");
    }
    return 0;
}
全部评论

相关推荐

11-09 12:17
清华大学 C++
out11Man:小丑罢了,不用理会
点赞 评论 收藏
分享
评论
1
1
分享
牛客网
牛客企业服务