t050: T510(結構)
標籤 : TQC 結構
通過比率 : 0人/0人 (0%) [非即時]
評分方式:
Tolerant

最近更新 : 2022-06-24 01:14

內容

1.請輸入三個圓的圓心及半徑,使用malloc()函數配置記憶體。
2.題目已提供程式碼片段,執行結果如參考畫面,程式碼有語法、邏輯或其他項目上的錯誤,請全數修正。

本題為標準的鍊結操作,請用心體會。

#include <stdio.h>
#include <stdlib.h>
int main ()
{
    struct  circle {
       int x, y;
       int radius;
       struct circle *next;
    };
 
    struct circle *a, *b, *c, *current;  
 
    a = (struct circle *)malloc(sizeof(struct circle));
    printf("請輸入第一個圓的圓心(x, y): ");
    scanf("%d %d", &a->x, &a->y);
    printf("請輸入第一個圓的半徑: ");
    scanf("%d", &a->radius);
    a->next = NULL;
 
    b = (struct circle *)malloc(sizeof(struct circle));
    printf("請輸入第二個圓的圓心(x, y): ");
    scanf("%d %d", &b->x, &b->y);
    printf("請輸入第二個圓的半徑: ");
    scanf("%d", &b->radius);
    b->next = NULL;
    a->next= b;
 
    c = (struct circle *)malloc(sizeof(struct circle));
    printf("請輸入第三個圓的圓心(x, y): ");
    scanf("%d %d", &c->x, &c->y);
    printf("請輸入第三個圓的半徑: ");
    scanf("%d", &c->radius);
    c->next=NULL;
    b->next=c;
 
    a = current;
    int i=1;
    while (current != NULL) {
       printf("第%d個圓的圓心為(%d, %d), 半徑為%d\n",        
          i, current->x, current->y, current->radius);
       i++;
    }
    free(a);
    free(b);
    free(c);
    return 0;
}
 

輸入說明
輸出說明
範例輸入 #1
10 20
11
20 30
12
30 40
13
範例輸出 #1
請輸入第一個圓的圓心(x, y): 10 20
請輸入第一個圓的半徑: 11
請輸入第二個圓的圓心(x, y): 20 30
請輸入第二個圓的半徑: 12
請輸入第三個圓的圓心(x, y): 30 40
請輸入第三個圓的半徑: 13
第1個圓的圓心為(10, 20), 半徑為11
第2個圓的圓心為(20, 30), 半徑為12
第3個圓的圓心為(30, 40), 半徑為13
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (100%): 1.0s , <1K
提示 :
標籤:
TQC 結構
出處:
TQC 題庫050 [管理者: zero(管理員) ]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」