C語言程序設(shè)計基礎(chǔ)-結(jié)構(gòu)體習(xí)題_第1頁
C語言程序設(shè)計基礎(chǔ)-結(jié)構(gòu)體習(xí)題_第2頁
C語言程序設(shè)計基礎(chǔ)-結(jié)構(gòu)體習(xí)題_第3頁
C語言程序設(shè)計基礎(chǔ)-結(jié)構(gòu)體習(xí)題_第4頁
C語言程序設(shè)計基礎(chǔ)-結(jié)構(gòu)體習(xí)題_第5頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、1、 把一個學(xué)生的信息(包括學(xué)號、姓名、性別、住址)放在一個結(jié)構(gòu)體變量中,然后輸出這 個學(xué)生的信息。#i nclude <stdio.h>int mai n()struct Stude ntlong int num;char n ame20;char sex;char addr20;a=10101,“ Li Lin ”, M ,“123 Beijing Road ” ;prin tf("NO.:%ldnn ame:%snsex:%c naddress:%sn",a. nu m,a. name,a.sex,a.addr);return 0;2、輸入兩個學(xué)生的學(xué)號、

2、姓名和成績,輸出成績較高學(xué)生的學(xué)號、姓名和成績#i nclude <stdio.h>int mai n() struct Stude ntint num;char n ame20;float score;stude nt1,stude nt2;scan f("%d%s%f", &stude nt1. num,stude nt1. name, &stude nt1.score);scanf(“ d%s%”,&student2.num,, &student2.score);prin tf("The

3、higher score is:n");if (stude nt1.score>stude nt2.score)prin tf("%d %s %6.2fn",stude nt1. nu m,stude nt1. name, stude nt1.score);else if (stude nt1.score<stude nt2.score)prin tf("%d %s %6.2fn",stude nt2. nu m,stude nt2. name, stude nt2.score);elsepri ntf("%d %s %6

4、.2fn",stude nt1. nu m,stude nt1. name, stude nt1.score);prin tf("%d %s %6.2fn",stude nt2. nu m,stude nt2. name, stude nt2.score);return 0;3、有3個候選人,每個選民只能投票選一人,要求編一個統(tǒng)計選票的程序,先后輸入被選 人的名字,最后輸出各人得票結(jié)果。#in clude <stri ng.h>#i nclude <stdio.h>struct Pers on char n ame20;int count;

5、leader3= “ Li ”,0,“ Zhang ”,0,“ Sun”,0;int mai n() int i,j;char leader_ name20;for (i=1;i<=10;i+) scanf(“ S' ,leader_name);for(j=0;j<3;j+)if(strcmp(leader_ name,leaderj. name)=0) leaderj.co un t+;for(i=0;i<3;i+)printf("%5s:%dn“ ,,leaderi.co un t); return 0;4、有n個學(xué)生的信息(包括

6、學(xué)號、姓名、成績),要求按照成績的高低順序輸出各學(xué)生的信息。#in clude <stdio.h> struct Stude nt int num; char n ame20; float score; ;int mai n() struct Stude nt stu5=10101,"Zha ng",78,10103,"Wa ng",98.5,10106,"Li",86 ,10108,“ Ling ” , 73.5,10110,; Fun” , 100 struct Stude nt temp;const int n =

7、5 ;int i,j,k;prin tf("The order is:n");for(i=0;i<n -1;i+) k=i;for(j=i+1;j <n ;j+)if(stuj.score>stuk.score) k=j;temp=stuk;stuk=stui;stui=temp;for(i=0;i <n ;i+)prin tf("%6d %8s %6.2fn",stui. nu m,stui. name,stui.score);prin tf("n");return 0;5、通過指向結(jié)構(gòu)體變量的指針變量輸出結(jié)

8、構(gòu)體變量中成員的信息。#i nclude <stdio.h>#in elude <stri ng.h>int mai n() struct Stude nt long num;char n ame20;char sex;float score;struct Stude nt stu_1;struct Stude nt * p;p=&stu_1;stu_1. nu m=10101;strcpy(stu_1.name, “ Li Lin ”);stu_1.sex='M stu_1.score=89.5;prin tf("No.:%ldn->”

9、 um);printf("n ame:%sn", p ->.n ame);prin tf("sex:%cn->.sex);printf( ” score:%5.1fn”,stu_1.score);return 0;6、有3個學(xué)生的信息,放在結(jié)構(gòu)體數(shù)組中,要求輸出全部學(xué)生的信息。#i nclude <stdio.h>struct Stude nt int num;char n ame20;char sex;int age;struct Stude ntstu3=10101,"LiLin ”,'M',18,10102,

10、"Zha ngFu n",'M',19,10104,"Wa ngMin ”,'F',20 ;int mai n() struct Stude nt *p;printf(” No.Name sex agen");for(p=stu;p<stu+3;p+)printf(“ 5dC% %2c %4dn "->pum, p->name, p->sex, p->age);return 0;7、有n個結(jié)構(gòu)體變量,內(nèi)含學(xué)生學(xué)號、姓名和3門課程的成績。要求輸出平均成績最高的學(xué)生的信息(包括學(xué)號、姓名

11、、3門課程成績和平均成績)。#i nclude <stdio.h>#defi ne N 3struct Stude nt int num;char n ame20;float score3;float aver;int mai n() void in put(struct Stude nt stu);struct Stude nt max(struct Stude nt stu);void prin t(struct Stude nt stu);struct Stude nt stuN;in put(stu);prin t(max(stu);return 0;void in put

12、(struct Stude nt stu) int i;printf("請輸入各學(xué)生的信息:學(xué)號、姓名、三門課成績:n");for(i=0;i<N;i+)scanf("%d %s %f %f %f",&stui.num,,&stui.score0,&stui.score1,&stui.score2);stui.aver=(stui.score0+stui.score1+stui.score2)/3.0;struct Student max(struct Student stu)int i,m=0;f

13、or(i=0;i<N;i+)if (stui.aver>stum.aver) m=i;return stum;void prin t(struct Stude nt stud) printf("n成績最高的學(xué)生是:n");printf(” 學(xué)號:dn 姓名:sn三門課成績:5.1f,%5.1f,%5.1fn 平均成績:%6.2fn",stud. nu m,stud. name,stud.score0,stud.score1,stud.score2,stud.aver);8、有若干個人員的數(shù)據(jù),其中有學(xué)生和教師。學(xué)生的數(shù)據(jù)中包括:姓名、號碼、性別、職業(yè)、

14、班級。教師的數(shù)據(jù)包括:姓名、號碼、性別、職業(yè)、職務(wù)。要求用同一個表格來處理。#i nclude <stdio.h>union Categ int clas;char positi on 10;struct int num;char n ame10;char sex;char job;union Categ categorypers on 2;int mai n()int i;for(i=0;i<2;i+)scanf("%d %s %c %c “,&personi.num,&pers on i. name,&pers on i.sex,&

15、;pers on i.job);if(pers on i.job = 's')scanf("%d“,&personi.category.clas);else if(pers on i.job = 't)sca nf(“ s ,pers on i.category.positi on) ;elseprintf( "In put error!” );prin tf("n");for(i=0;i<2;i+)if (personi.job = s')printf("% -6d%-10s%-4c%-4c%-1

16、0dn",pers on i. nu m,pers on i.n ame,pers on i.sex,pers on i.job,pers on i.category.clas);elseprintf("% -6d%-10s%-4c%-4c%-10sn",pers on i. nu m,pers on i.n ame,pers on i.sex, pers on i.job,pers on i.category.positi on);return 0;9、編程,輸入2個時刻,定義一個時間結(jié)構(gòu)體類型(包括時分秒),計算2個時刻之間的時間差。#i nclude <

17、;stdio.h>typedef struct Mytimeint hour;int min;int sec;T;int mai n()T t1, t2, t3;int seel, sec2, sec3;printf(”輸入兩個時間值,以 XX:XX:XX勺格式n");sea nf("%d:%d:%d", tl.hour, tl.mi n, tl.sec);sea nf("%d:%d:%d", t2.hour, t2.mi n, t2.sec);sec1 = tl.hour * 3600 + tl.min * 60 + tl.sec;sec2 = t2.hour * 3600 + t2.min * 60 + t2.sec;if( secl >= sec2 )sec3 = secl - sec2;elsesec3 = sec2- secl;t3.hour = sec3 / 3600;sec3 %= 3600;t3.min = sec3 /60;t3.sec = sec3 %60;pr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論