C語言程序設(shè)計(jì)基礎(chǔ)-結(jié)構(gòu)體習(xí)題_第1頁
C語言程序設(shè)計(jì)基礎(chǔ)-結(jié)構(gòu)體習(xí)題_第2頁
C語言程序設(shè)計(jì)基礎(chǔ)-結(jié)構(gòu)體習(xí)題_第3頁
C語言程序設(shè)計(jì)基礎(chǔ)-結(jié)構(gòu)體習(xí)題_第4頁
C語言程序設(shè)計(jì)基礎(chǔ)-結(jié)構(gòu)體習(xí)題_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1、把一個學(xué)生的信息(包括學(xué)號、姓名、性別、住址)放在一個結(jié)構(gòu)體變量中,然后輸出這個學(xué)生的信息。#include <stdio.h>int main()struct Student long int num; char name20; char sex; char addr20; a=10101,“Li Lin”,M, “123 Beijing Road”; printf("NO.:%ldnname:%sn sex:%cnaddress:%sn",a.num,,a.sex,a.addr); return 0; 2、輸入兩個學(xué)生的學(xué)號、姓名和成績,輸出

2、成績較高學(xué)生的學(xué)號、姓名和成績#include <stdio.h>int main() struct Student int num; char name20; float score; student1,student2; scanf("%d%s%f",&student1.num,, &student1.score); scanf(“%d%s%f”,&student2.num,, &student2.score); printf("The higher score i

3、s:n"); if (student1.score>student2.score) printf("%d %s %6.2fn",student1.num,, student1.score); else if (student1.score<student2.score)printf("%d %s %6.2fn",student2.num,, student2.score); else printf("%d %s %6.2fn",student1.num,stud

4、, student1.score); printf("%d %s %6.2fn",student2.num,, student2.score); return 0;3、有3個候選人,每個選民只能投票選一人,要求編一個統(tǒng)計(jì)選票的程序,先后輸入被選人的名字,最后輸出各人得票結(jié)果。#include <string.h>#include <stdio.h>struct Person char name20; int count; leader3=“Li”,0,“Zhang”,0,“Sun”,0;int main()

5、 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, )=0) leaderj.count+; for(i=0;i<3;i+) printf("%5s:%dn“,, leaderi.count); return 0;4、有n個學(xué)生的信息(包括學(xué)號、姓名、成績),要求按照成績的高低順序輸出各學(xué)生的信息。#include <stdio.h>s

6、truct Student int num; char name20; float score; ; int main() struct Student stu5=10101,"Zhang",78,10103,"Wang",98.5,10106,"Li", 86 ,10108,“Ling”, 73.5,10110,“Fun”, 100 ; struct Student temp; const int n = 5 ; int i,j,k;printf("The order is:n"); for(i=0;i<n

7、-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+) printf("%6d %8s %6.2fn", stui.num,,stui.score); printf("n"); return 0;5、通過指向結(jié)構(gòu)體變量的指針變量輸出結(jié)構(gòu)體變量中成員的信息。#include <stdio.h>#include <string.h>int

8、 main() struct Student long num; char name20; char sex; float score; ;struct Student stu_1; struct Student * p; p=&stu_1; stu_1.num=10101; strcpy(stu_1.name,“Li Lin”); stu_1.sex='M; stu_1.score=89.5; printf("No.:%ldn”,p->.num); printf("name:%sn", p->.name); printf("

9、sex:%cn”, p->.sex); printf(”score:%5.1fn”,stu_1.score); return 0;6、有3個學(xué)生的信息,放在結(jié)構(gòu)體數(shù)組中,要求輸出全部學(xué)生的信息。#include <stdio.h>struct Student int num; char name20;char sex; int age;struct Student stu3=10101,"Li Lin",'M',18,10102,"Zhang Fun",'M',19,10104,"Wang Mi

10、n",'F',20 ;int main() struct Student *p; printf(" No. Name sex agen"); for(p=stu;p<stu+3;p+) printf(“%5d %-20s %2c %4dn”,p->num, p->name, p->sex, p->age); return 0;7、有n個結(jié)構(gòu)體變量,內(nèi)含學(xué)生學(xué)號、姓名和3門課程的成績。要求輸出平均成績最高的學(xué)生的信息(包括學(xué)號、姓名、3門課程成績和平均成績)。#include <stdio.h>#define

11、 N 3struct Student int num; char name20; float score3; float aver; ;int main() void input(struct Student stu); struct Student max(struct Student stu); void print(struct Student stu); struct Student stuN; input(stu); print(max(stu); return 0;void input(struct Student stu) int i; printf("請輸入各學(xué)生的信

12、息:學(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; for(i=0;i<N;i+) if (stui.aver>stum.ave

13、r) m=i; return stum; void print(struct Student stud) printf("n成績最高的學(xué)生是:n");printf("學(xué)號:%dn姓名:%sn三門課成績:%5.1f,%5.1f,%5.1fn平均成績:%6.2fn",stud.num,,stud.score0,stud.score1,stud.score2,stud.aver); 8、有若干個人員的數(shù)據(jù),其中有學(xué)生和教師。學(xué)生的數(shù)據(jù)中包括:姓名、號碼、性別、職業(yè)、班級。教師的數(shù)據(jù)包括:姓名、號碼、性別、職業(yè)、職務(wù)。要求用同一個表格來處理。#

14、include <stdio.h>union Categ int clas; char position10; ; struct int num; char name10; char sex; char job; union Categ category person2; int main()int i; for(i=0;i<2;i+) scanf("%d %s %c %c“,&personi.num, &, &personi.sex,&personi.job); if(personi.job = 's

15、') scanf("%d“,&personi.category.clas); else if(personi.job = 't) scanf(“%s”,personi.category.position); else printf(“Input error!”); printf("n"); for(i=0;i<2;i+) if (personi.job = s) printf("%-6d%-10s%-4c%-4c% -10dn",personi.num,personi. name,personi.sex,perso

16、ni.job, personi.category.clas); else printf("%-6d%-10s%-4c%-4c% -10sn",personi.num,personi. name,personi.sex, personi.job, personi.category.position);  return 0;9、編程,輸入2個時刻, 定義一個時間結(jié)構(gòu)體類型(包括時分秒),計(jì)算2個時刻之間的時間差。#include <stdio.h>typedef struct Mytimeint hour;int min;int sec;T;int mai

17、n()T t1, t2, t3;int sec1, sec2, sec3;printf("輸入兩個時間值,以XX:XX:XX的格式n");scanf("%d:%d:%d", t1.hour, t1.min, t1.sec);scanf("%d:%d:%d", t2.hour, t2.min, t2.sec);sec1 = t1.hour * 3600 + t1.min * 60 + t1.sec;sec2 = t2.hour * 3600 + t2.min * 60 + t2.sec;if( sec1 >= sec2 )sec3 = sec1 - sec2;elsesec3 = sec2 - sec1;t3.hour = sec3 / 3600;sec3 %= 3600;t3.min = sec3 /60;t3.sec = sec3 %60

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論