題目來源牛客網
時間限制:1秒
空間限制:32768K指針
蛇形矩陣是有1開始的天然數依次排列成的一個上三角矩陣.code
樣例輸入: 接口
5
內存
接口說明
原型
字符串
void GetResult(int Num, char * pResult);
輸入參數:
get
int Num :輸入的正整數N
輸出參數:原型
int *pResult: 指向放蛇形矩陣的字符串指針指針指向的內存區域保證有效
返回值:string
void
輸入正整數N(N不大於100)it
輸出一個N行的蛇形矩陣.io
4
1 3 6 10
2 5 9
4 8
7
#include <stdio.h> #include <stdlib.h> #include <string.h> void GetResult(int n, int * matrix); void printResult(int n, int* matrix); void zeros(int n, int* matrix); int main(int argc, char **argv) { int n; while(scanf("%d",&n)!=EOF){ int *matrix = (int*)malloc(sizeof(int)*n*n); GetResult(n, matrix); printResult(n, matrix); free(matrix); } return 0; } void GetResult(int n, int * matrix) { /*initialize as zero*/ zeros(n, matrix); int counter = 1; int i,j; for(i=1; i <= n; i++){ for(j=0; j<i;j++){ *(matrix+(i-1)*n+j) = counter++; } } } void printResult(int n, int* matrix) { int i,j; for(j=0; j<n; j++){ for(i=j; i<n-1; i++){ printf("%d ", *(matrix+i*n+i-j)); } printf("%d", *(matrix+i*n+i-j)); printf("\n"); } } void zeros(int n, int *matrix) { int i,j; for(i=0; i<n;i++){ for(j=0; j<n;j++){ *(matrix+i*n+j)=0; } } }