首頁>Club>
13
回覆列表
  • 1 # 使用者7063786766555

    #include <stdio.h>

    #include <stdlib.h>

    int main(void)

    {

    int **a,b,c,i;

    printf("請輸入行數:");

    scanf("%d",&b);

    a=(int **)malloc(sizeof(int **)*b);

    if (a==NULL) {

    fprintf(stderr,"分配失敗");

    exit(1);

    }

    for (i = 0; i<b; i++) {

    printf("請輸入第%d行的元素個數:",i+1);

    scanf("%d",&c);

    a[i]=(int *)malloc(sizeof(int)*(c+1));/*為第i行分配c+1個int空間,多出來的一個位置用於儲存這一行的長度*/

    if (a[i]==NULL) {

    fprintf(stderr,"分配失敗");

    exit(1);

    }

    a[i][0]=c; /*將第i行的長度儲存到第i行的第一個元素中*/

    for (c=1; c<=a[i][0]; c++) {

    a[i][c]=1;

    }

    }

    for (i = 0; i<b; i++) {

    for (c=1; c<=a[i][0]; c++) {

    printf("%d",a[i][c]);

    }

    putchar("\n");

    free(a[i]); /*釋放為第i行分配的空間*/

    }

    free(a); /*釋放為a分配的空間*/

    return 0;

    }

  • 中秋節和大豐收的關聯?
  • 鯉魚愛吃什麼東西?