一、 實訓目的
1、 掌握結構體型別和變數的定義及應用;
2、 掌握結構體陣列及應用;
3、 掌握結構體巢狀及應用。
二、 實訓內容
1、 輸入並執行如下程式,若有錯誤,請修改。
#include <>
#define stu struct student
void main()
;stu s1=,s2=;
stu *p;
if(>=60)
else
p=&s2;
if(p->cj>=60) p->dj=』p』;
else p->dj=』f』;
printf("%-10s %-20s%-5d%-10.1f%c\n",
printfn」);
printf("%-10s %-20s%-5d%-10.1f%c\n",p->xh,p->xm,p->nl,p->cj,p->dj);
}(1)除錯過程中遇到的問題及解決辦法:
(2)程式執行結果記錄:
思考:上述程式中,經過初始化後, lin___,
2、 從鍵盤輸入四名學生的學號、姓名、數學成績、語文成績,分別求出每位同學的總分,並按總分由高到低的順序輸出。(要求用結構體陣列存放學生資訊)。
(1)程式:
#include <>
#define stu struct stu
#define n 4
void main( )
; stu a[n],t;
int i,j;
for(i=0;i<=n-1;i
for(i=0;i for(j=i+1;j<=n-1;j++)
if(a[i].zj
t=a[i]; a[i]=a[j]; a[j]=t;
}for(i=0;i<=n-1;i++)
printf ("%d,%s,%d,%d,%.2lf\n",a[i].xh,a[i].xm,a[i].cj1, a[i].cj2,a[i].zj);
}(2)程式除錯過程中發現的問題及解決辦法:
(3)程式執行結果:
3、 修改上題的程式,增加每位學生的出生日期資訊。
(1)程式:
#include <>
#define stu struct stu
#define n 4
void main( )
; struct stu
;stu a[n],t;
int i,j;
for(i=0;i<=n-1;i
for(i=0;i for(j=i+1;j<=n-1;j++)
if(a[i].zj
for(i=0;i<=n-1;i++)
printf ("%d,%s,%d-%d-%d,%d,%d,%.2lf\n",a[i].xh,a[i].xm,
a[i].
}(2)程式除錯過程中發現的問題及解決辦法:
(3)程式執行結果:
輸入:0001 aa 1993-2-01 50 60
0002 bb 1993-2-02 55 65
0003 cc 1993-2-03 60 70
0004 dd 1993-2-04 65 75
輸出:三、實訓體會和小結:
繼續加油,好好努力!
C語言6 結構體,共用體
選票統計 time limit 1000ms memory limit 65536k 題目描述 某校學生會主席由全校學生投票選舉產生,共有 名候選人報名參選,編號為1到 0 1000 全校有 名學生 0 30000 每人都可以投票。但每人只能投一票,每票只能選1名候選人。請你設計乙個程式能夠統計出哪...
關於C語言中的結構體對齊
1 什麼是位元組對齊 乙個變數占用 n 個位元組,則該變數的起始位址必須能夠被 n 整除,即 存放起始位址 n 0,對於結構體而言,這個 n 取其成員種的資料型別佔空間的值最大的那個。2 為什麼要位元組對齊 記憶體空間是按照位元組來劃分的,從理論上說對記憶體空間的訪問可以從任何位址開始,但是在實際上...
2 C語言之結構體概述
1 c語言中的2種型別 原生型別和自定義型別。1 結構體定義時需要先定義結構體型別,然後再用型別來定義變數。2 也可以在定義結構體型別的同時定義結構體變數。定義型別 struct people 定義型別的同時定義變數。struct student s1 將型別struct student重新命名為s...