510.
設計說明:
1. 請輸入三個圓的心及半徑,使用malloc()函數配置記憶體。
2. 修改程式碼片段中的程式語法、邏輯上的錯誤,執行結果如範例圖。
參考程式碼:
TQC+ C 試題總整理
- #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;
- current = a ;//把 current 設定初始值 a
- int i=1;
- while (current != NULL) {
- printf("第%d個圓的圓心為(%d, %d), 半徑為%d\n",i, current->x, current->y, current->radius);
- i++;
- current=current->next;//做完一輪後,要把記憶體位置導向下一個
- }
- free(a);//釋放記憶體
- free(b);
- free(c);
- system("PAUSE");
- return 0;
- }
TQC+ C 試題總整理
聲明:
這裡的範例程式碼皆由本人親自編輯,歡迎轉載本教學,但請註明本網站,尊重一下作者的心血
沒有留言:
張貼留言
歡迎留言,較舊文章需要留言審核看不到自己的留言是正常的。
若長時間無回應請使用以下聯絡方式:
填寫表單:https://forms.gle/hxxX9n4tATcFnhnk8
寄信到:happyplayblogs@gmail.com