




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C語言提供了一些由系統(tǒng)已定義好的數(shù)據(jù)類型,如:整型、實(shí)型、字符型、指針等類型,C語言還允許用戶根據(jù)需要自己建立數(shù)據(jù)類型,用它來定義變量。第9章 使用結(jié)構(gòu)體類型處理組合數(shù)據(jù)-用戶自定義數(shù)據(jù)類型P2489.1 定義和使用結(jié)構(gòu)體變量9.2 結(jié)構(gòu)體數(shù)組9.3 結(jié)構(gòu)體指針9.4 用結(jié)構(gòu)體變量和結(jié)構(gòu)體變量的指針作函數(shù)參數(shù)9.5 用指針處理鏈表9.6 提高部分9.1 定義和使用結(jié)構(gòu)體變量9.1.1 自己建立結(jié)構(gòu)體類型9.1.2 定義結(jié)構(gòu)體類型變量9.1.3 結(jié)構(gòu)體變量的初始化和引用P2489.1.1 自己建立結(jié)構(gòu)體類型P248用戶自己建立由不同類型數(shù)據(jù)組成的組合型的數(shù)據(jù)結(jié)構(gòu),它稱為結(jié)構(gòu)體例如,一個學(xué)生的學(xué)號
2、、姓名、性別、年齡、成績、家庭地址等項(xiàng),是屬于同一個學(xué)生的,因此組成一個組合數(shù)據(jù),如student_1的變量,反映它們之間的內(nèi)在聯(lián)系struct student int num; char name20; char sex; int age; float score; char addr30; ;由程序設(shè)計(jì)者指定了一個結(jié)構(gòu)體類型struct Student它包括num,name,sex,age,score,addr等不同類型的成員聲明一個結(jié)構(gòu)體類型的一般形式為: struct 結(jié)構(gòu)體名 成員表列 ; 類型名 成員名;說明:(1)結(jié)構(gòu)體類型并非只有一種,而是可以設(shè)計(jì)出許多種結(jié)構(gòu)體類型,例如str
3、uct teacherstruct workerstruct date等結(jié)構(gòu)體類型各自包含不同的成員說明:(2) 成員可以屬于另一個結(jié)構(gòu)體類型。 struct date int month; int day; int year; ;struct student int num;char name20; char sex; int age; struct date birthday; char addr30; ;說明:(2) 成員可以屬于另一個結(jié)構(gòu)體類型。 numnamesexagebirthdayaddrmonthdayyear9.1.2 定義結(jié)構(gòu)體類型變量P250前面只是建立了一個結(jié)構(gòu)體類型
4、,它相當(dāng)于一個模型,并沒有定義變量,其中并無具體數(shù)據(jù),系統(tǒng)對之也不分配存儲單元。相當(dāng)于設(shè)計(jì)好了圖紙,但并未建成具體的房屋。為了能在程序中使用結(jié)構(gòu)體類型的數(shù)據(jù),應(yīng)當(dāng)定義結(jié)構(gòu)體類型的變量,并在其中存放具體的數(shù)據(jù)。1. 先聲明結(jié)構(gòu)體類型,再定義該類型變量聲明結(jié)構(gòu)體類型struct student,可以用它來定義變量 struct student student1,student2;結(jié)構(gòu)體類型名結(jié)構(gòu)體變量名 1. 先聲明結(jié)構(gòu)體類型,再定義該類型變量聲明結(jié)構(gòu)體類型struct student,可以用它來定義變量 struct student student1,student2;10001Zhang Xi
5、nM1990.5Shanghaistudent110002Wang LiF2098Beijingstudent22.在聲明類型的同時定義變量struct student int num; char name20; char sex; int age; float score; char addr30; student1,student2;3. 不指定類型名而直接定義結(jié)構(gòu)體類型變量其一般形式為: struct 成員表列 變量名表列; 指定了一個無名的結(jié)構(gòu)體類型 。說明:(1) 結(jié)構(gòu)體類型與結(jié)構(gòu)體變量是不同的概念,不要混同。只能對變量賦值、存取或運(yùn)算,而不能對一個類型賦值、存取或運(yùn)算。在編譯時,對
6、類型是不分配空間的,只對變量分配空間。(2) 結(jié)構(gòu)體類型中的成員名可以與程序中的變量名相同,但二者不代表同一對象。(3) 對結(jié)構(gòu)體變量中的成員(即“域”),可以單獨(dú)使用,它的作用與地位相當(dāng)于普通變量。9.1.3 結(jié)構(gòu)體變量的初始化和引用 例 把一個學(xué)生的信息放在一個結(jié)構(gòu)體變量中,然后輸出這個學(xué)生的信息。解題思路:先在程序中自己建立一個結(jié)構(gòu)體類型,包括有關(guān)學(xué)生信息的各成員然后用它來定義結(jié)構(gòu)體變量,同時賦以初值最后輸出該結(jié)構(gòu)體變量的各成員P91#include void main()struct student int num; char name20; char sex; char addr20
7、; student1=10101,“Li Lin”,M, “123 Beijing Road”; printf(NO.:%dnname:%sn sex:%cnaddress:%sn, student1.num, , student1.sex, student1.addr);#include void main()struct student int num; char name20; char sex; char addr20; student1=10101,“Li Lin”,M, “123 Beijing Road”; printf(NO.:%dnname:%sn
8、sex:%cnaddress:%sn, student1.num, , student1.sex, student1.addr);#include void main()struct student int num; char name20; char sex; char addr20; student1=10101,“Li Lin”,M, “123 Beijing Road”; student1.num=10010; 對printf(“%sn”,student1); 不對#include void main()struct student int num; char
9、 name20; char sex; char addr20; student1=10101,“Li Lin”,M, “123 Beijing Road”; struct date birthday; student1.num=10010; 對student1.birthday.month=11; 對#include void main()struct student int num; char name20; char sex; char addr20; student1=10101,“Li Lin”,M, “123 Beijing Road”; student2.num=student1.
10、num; 對sum=student1.num+student2.num; 對student1.num+; 對,student2; #include void main()struct student int num; char name20; char sex; char addr20; student1=10101,“Li Lin”,M, “123 Beijing Road”; student2=student1; 對,student2; scanf(“%d”,&student1.num); 對scanf(“%d”,&student1); 錯 例9.2 輸入兩個學(xué)生的學(xué)號、姓名和成績,輸出成
11、績較高學(xué)生的學(xué)號、姓名和成績解題思路:(1)定義兩個結(jié)構(gòu)相同的結(jié)構(gòu)體變量student1和student2;(2)分別輸入兩個學(xué)生的學(xué)號、姓名和成績;(3)比較兩個學(xué)生的成績,如果學(xué)生1的成績高于學(xué)生2,就輸出學(xué)生1的全部信息,如果學(xué)生2的成績高于學(xué)生1,就輸出學(xué)生2的全部信息。如果二者相等,輸出2個學(xué)生的全部信息#include void main() struct student int num; char name20; float score; student1,student2; scanf(%d%s%f,&student1.num, , &student1
12、.score); scanf(“%d%s%f”,&student2.num, , &student2.score); 不能加& printf(The higher score is:n); if (student1.scorestudent2.score) printf(%d %s %6.2fn,student1.num, ,student1.score); else if (student1.scorestudent2.score) printf(%d %s %6.2fn,student2.num, ,studen
13、t2.score); else printf(%d %s %6.2fn,student1.num, , student1.score); printf(%d %s %6.2fn,student2.num, ,student2.score); 9.2 結(jié)構(gòu)體數(shù)組P255 例9.3 有3個候選人,每個選民只能投票選一人,要求編一個統(tǒng)計(jì)選票的程序,先后輸入被選人的名字,最后輸出各人得票結(jié)果。解題思路:設(shè)一個結(jié)構(gòu)體數(shù)組,數(shù)組中包含3個元素每個元素中的信息應(yīng)包括候選人的姓名(字符型)和得票數(shù)(整型)輸入被選人的姓名,然后與數(shù)組元素中的“姓名”成員比較,
14、如果相同,就給這個元素中的“得票數(shù)”成員的值加1輸出所有元素的信息#include #include struct person char name20; int count; leader3=“Li”,0,“Zhang”,0,“Sun”,0; 全局的結(jié)構(gòu)體數(shù)組namecountleader0Li0Zhang0Sun0void main() int i,j; char leader_name20; for (i=1;i=10;i+) scanf(“%s”,leader_name); for(j=0;j3;j+) if(strcmp(leader_name, )=0) l
15、eaderj.count+; for(i=0;i3;i+) printf(%5s:%dn“,, leaderi.count);leaderj.count=leaderj.count+1;void main() int i,j; char leader_name20; for (i=1;i=10;i+) scanf(“%s”,leader_name); for(j=0;j3;j+) if(strcmp(leader_name, )=0) leaderj.count+; for(i=0;i3;i+) printf(%5s:%dn“,leaderi.n
16、ame, leaderi.count);說明:(1)定義結(jié)構(gòu)體數(shù)組一般形式是 struct 結(jié)構(gòu)體名 成員表列 數(shù)組名數(shù)組長度; 先聲明一個結(jié)構(gòu)體類型,然后再用此類型定義結(jié)構(gòu)體數(shù)組: 結(jié)構(gòu)體類型 數(shù)組名數(shù)組長度; 如: struct person leader3; 說明:(2)對結(jié)構(gòu)體數(shù)組初始化的形式是在定義數(shù)組的后面加上:=初值表列; 如:struct person leader3= Li,0,Zhang,0,“Sun,0; 例9.4 有n個學(xué)生的信息(包括學(xué)號、姓名、成績),要求按照成績的高低順序輸出各學(xué)生的信息。解題思路:用結(jié)構(gòu)體數(shù)組存放n個學(xué)生信息,采用選擇法對各元素進(jìn)行排序(進(jìn)行比較
17、的是各元素中的成績)。#include #define N 5struct student int num; char name20; float score; ; void main() struct student stuN =10101,Zhang,78 , 10103,Wang,98.5, 10106,Li“,86, 10108,“Ling”, 73.5, 10110,“Sun”, 100 ; struct student temp; int i,j,k; printf(The order is:n); for(i=0;iN-1;i+) k=i; for(j=i+1;jstuk.sco
18、re) k=j; temp=stuk; stuk=stui; stui=temp; for(i=0;iN;i+) printf(%6d %8s %6.2fn, stui.num,,stui.score); printf(n);寫法上與普通變量一致9.3 結(jié)構(gòu)體指針P258指向結(jié)構(gòu)體對象的指針變量既可以指向結(jié)構(gòu)體變量,也可以用來指向結(jié)構(gòu)體數(shù)組中的元素。但是,指針變量的基類型必須與結(jié)構(gòu)體變量的類型相同。例如: struct student *pt; 例9.5 通過指向結(jié)構(gòu)體變量的指針變量輸出結(jié)構(gòu)體變量中成員的信息。解題思路:在已有的基礎(chǔ)上,本題要解決兩個問題:怎樣對結(jié)構(gòu)體變量成員
19、賦值;怎樣通過指向結(jié)構(gòu)體變量的指針訪問結(jié)構(gòu)體變量中成員。#include #include void 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”,stu_1.num); printf(name:%sn,stu_1
20、.name); printf(sex:%cn”,stu_1.sex); printf(”score:%5.1fn”,stu_1.score); stu_110101Li LinMp 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”,stu_1.num); printf(name:%sn,stu_1.name); printf(sex:%cn”,stu_1.
21、sex); printf(”score:%5.1fn”,stu_1.score); stu_110101Li LinMp(*p).num(*p).name(*p).sex(*p).score說明:為了使用方便和直觀,允許把(*p).num用p-num來代替(*p).name等價于p-name如果p指向一個結(jié)構(gòu)體變量stu,以下等價: stu.成員名(如stu.num) (*p).成員名(如(*p).num) p-成員名(如p-num) 例9.6 有3個學(xué)生的信息,放在結(jié)構(gòu)體數(shù)組中,要求輸出全部學(xué)生的信息。解題思路:用指向結(jié)構(gòu)體變量的指針處理(1)聲明struct student,并定義結(jié)構(gòu)體數(shù)
22、組、初始化(2)定義指向struct student類型指針p(3)使p指向數(shù)組首元素,輸出元素中各信息(4)使p指向下一個元素,輸出元素中各信息(5)再使p指向結(jié)構(gòu)體數(shù)組的下一個元素,輸出它指向的元素中的有關(guān)信息#include 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 Min,F,20 ;void main() struct student *p; printf( No. Nam
23、e sex agen); for(p=stu;pnum, p-name, p-sex, p-age); 10101Li LinM1810102Zhang FangM1910104Wang MinF20stu0stu1stu2void main() struct student *p; printf( No. Name sex agen); for(p=stu;pnum, p-name, p-sex, p-age); 10101Li LinM1810102Zhang FangM1910104Wang MinF20pstu0stu1stu2void main() struct student *p
24、; printf( No. Name sex agen); for(p=stu;pnum, p-name, p-sex, p-age); 10101Li LinM1810102Zhang FangM1910104Wang MinF20pstu0stu1stu2void main() struct student *p; printf( No. Name sex agen); for(p=stu;pnum, p-name, p-sex, p-age); 10101Li LinM1810102Zhang FangM1910104Wang MinF20pstu0stu1stu29.4 用結(jié)構(gòu)體變量和
25、結(jié)構(gòu)體變量的指針作函數(shù)參數(shù)P262將一個結(jié)構(gòu)體變量的值傳遞給另一個函數(shù),有3個方法。(1) 用結(jié)構(gòu)體變量的成員作參數(shù)。 例如,用stu1.num或作函數(shù)實(shí)參,將實(shí)參值傳給形參。用法和用普通變量作實(shí)參是一樣的,屬于“值傳遞”方式。應(yīng)當(dāng)注意實(shí)參與形參的類型保持一致。(2) 用結(jié)構(gòu)體變量作實(shí)參。用結(jié)構(gòu)體變量作實(shí)參時,將結(jié)構(gòu)體變量所占的內(nèi)存單元的內(nèi)容全部按順序傳遞給形參,形參也必須是同類型的結(jié)構(gòu)體變量在函數(shù)調(diào)用期間形參也要占用內(nèi)存單元。這種傳遞方式在空間和時間上開銷較大在被調(diào)用函數(shù)期間改變形參(也是結(jié)構(gòu)體變量)的值,不能返回主調(diào)函數(shù)一般較少用這種方法(3)用指向結(jié)構(gòu)體變量(或數(shù)組元素
26、)的指針作實(shí)參,將結(jié)構(gòu)體變量(或數(shù)組元素)的地址傳給形參。 例9.7 有N個結(jié)構(gòu)體變量stu,內(nèi)含學(xué)生學(xué)號、姓名和3門課程的成績。要求輸出平均成績最高的學(xué)生的信息(包括學(xué)號、姓名、3門課程成績和平均成績)。解題思路:按照功能函數(shù)化的思想,分別用3個函數(shù)來實(shí)現(xiàn)不同的功能:用input函數(shù)輸入數(shù)據(jù)和求各學(xué)生平均成績用max函數(shù)找平均成績最高的學(xué)生用print函數(shù)輸出成績最高學(xué)生的信息在主函數(shù)中先后調(diào)用這3個函數(shù),用指向結(jié)構(gòu)體變量的指針作實(shí)參。最后得到結(jié)果。本程序假設(shè)N=3#include #define N 3struct student int num; char name20; float s
27、core3; float aver; ;4個成員輸入前3個成員值計(jì)算最后成員值void main() void input(struct student stu); struct student max(struct student stu); void print(struct student stu); struct student stuN,*p=stu; input(p); print(max(p); void input(struct student stu) int i; printf(請輸入各學(xué)生的信息: 學(xué)號、姓名、三門課成績:n); for(i=0;iN;i+) scanf(
28、%d %s %f %f %f, &stui.num,, &stui.score0,&stui.score1, &stui.score2); stui.aver=(stui.score0+ stui.score1+stui.score2)/3.0; 輸入第1個成員值輸入第2個成員值輸入第3個成員值計(jì)算第4個成員值stu0stu1stu2stu10101Li78 89 98i=0void input(struct student stu) int i; printf(請輸入各學(xué)生的信息: 學(xué)號、姓名、三門課成績:n); for(i=0;iN;i+) scanf(%d %s %f
29、%f %f, &stui.num,, &stui.score0,&stui.score1, &stui.score2); stui.aver=(stui.score0+ stui.score1+stui.score2)/3.0; 輸入第1個成員值輸入第2個成員值輸入第3個成員值計(jì)算第4個成員值stu0stu1stu2stu10101Li78 89 9810103Wang98.5 87 69i=1void input(struct student stu) int i; printf(請輸入各學(xué)生的信息: 學(xué)號、姓名、三門課成績:n); for(i=0;iN;i+) scanf
30、(%d %s %f %f %f, &stui.num,, &stui.score0,&stui.score1, &stui.score2); stui.aver=(stui.score0+ stui.score1+stui.score2)/3.0; 輸入第1個成員值輸入第2個成員值輸入第3個成員值計(jì)算第4個成員值stu0stu1stu2stu10101Li78 89 9810103Wang98.5 87 6910106Sun 88 76.5 89i=2struct student max(struct student stu) int i,m=0; for(i=0;istum
31、.aver) m=i; return stum; stu0stu1stu2stu10101Li78 89 9810103Wang98.5 87 6910106Sun 88 76.5 89最大返回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); stud10101Li78 89 981010
32、3Wang98.5 87 6910106Sun 88 76.5 89numnamescoreaverstu0stu1stu2以上3個函數(shù)的調(diào)用,情況各不相同:調(diào)用input函數(shù)時,實(shí)參是指針變量,形參是結(jié)構(gòu)體數(shù)組,傳遞的是結(jié)構(gòu)體元素的地址,函數(shù)無返回值。調(diào)用max函數(shù)時,實(shí)參是指針變量,形參是結(jié)構(gòu)體數(shù)組,傳遞的是結(jié)構(gòu)體元素的地址,函數(shù)的返回值是結(jié)構(gòu)體類型數(shù)據(jù)。調(diào)用print函數(shù)時,實(shí)參是結(jié)構(gòu)體變量,形參是結(jié)構(gòu)體變量,傳遞的是結(jié)構(gòu)體變量中各成員的值,函數(shù)無返回值。9.5 用指針處理鏈表 什么是線性鏈表9.5.2 建立簡單的靜態(tài)鏈表9.5.3 建立動態(tài)鏈表P265 什么是線性鏈表P265鏈表是一種
33、常見的重要的數(shù)據(jù)結(jié)構(gòu)它是動態(tài)地進(jìn)行存儲分配的一種結(jié)構(gòu)head12491249A135613561475B1475C10211021D0頭指針各結(jié)點(diǎn)地址不連續(xù)各結(jié)點(diǎn)含有兩個部分表尾鏈表是一種常見的重要的數(shù)據(jù)結(jié)構(gòu)它是動態(tài)地進(jìn)行存儲分配的一種結(jié)構(gòu)鏈表必須利用指針變量才能實(shí)現(xiàn)struct student int num; float score; struct student *next; a,b,c;1010189.510103901010785a結(jié)點(diǎn)b結(jié)點(diǎn)c結(jié)點(diǎn)a.next=&b;b.next=&c;numscorenext9.5.2 建立簡單的靜態(tài)鏈表P266 例9.8 建立一個如圖所示的簡單鏈
34、表,它由3個學(xué)生數(shù)據(jù)的結(jié)點(diǎn)組成,要求輸出各結(jié)點(diǎn)中的數(shù)據(jù)。1010189.510103901010785a結(jié)點(diǎn)b結(jié)點(diǎn)c結(jié)點(diǎn)numscorenext解題思路:1010189.510103901010785a結(jié)點(diǎn)b結(jié)點(diǎn)c結(jié)點(diǎn)numscorenextheadhead=&a;a.next=&b;b.next=&c;NULLc.next=NULL;#include struct student int num; float score; struct student *next;void main() struct student a,b,c,*head,*p; a. num=10101; a.score
35、=89.5; b. num=10103; b.score=90; c. num=10107; c.score=85; head=&a; a.next=&b; b.next=&c; c.next=NULL; p=head; do printf(“%ld%5.1fn”,p-num,p-score); p=p-next; while(p!=NULL); p=head; do printf(“%ld%5.1fn”,p-num,p-score); p=p-next; while(p!=NULL); 1010189.510103901010785a結(jié)點(diǎn)b結(jié)點(diǎn)c結(jié)點(diǎn)numscorenextheadNULLp
36、相當(dāng)于p=&b; p=head; do printf(“%ld%5.1fn”,p-num,p-score); p=p-next; while(p!=NULL); 1010189.510103901010785a結(jié)點(diǎn)b結(jié)點(diǎn)c結(jié)點(diǎn)numscorenextheadNULLp相當(dāng)于p=&b; p=head; do printf(“%ld%5.1fn”,p-num,p-score); p=p-next; while(p!=NULL); 1010189.510103901010785a結(jié)點(diǎn)b結(jié)點(diǎn)c結(jié)點(diǎn)numscorenextheadNULLp相當(dāng)于p=&c; p=head; do printf(“%ld%
37、5.1fn”,p-num,p-score); p=p-next; while(p!=NULL); 1010189.510103901010785a結(jié)點(diǎn)b結(jié)點(diǎn)c結(jié)點(diǎn)numscorenextheadNULLp相當(dāng)于p=&c; p=head; do printf(“%ld%5.1fn”,p-num,p-score); p=p-next; while(p!=NULL); 1010189.510103901010785a結(jié)點(diǎn)b結(jié)點(diǎn)c結(jié)點(diǎn)numscorenextheadNULLp相當(dāng)于p=NULL;靜態(tài)鏈表9.5.3 建立動態(tài)鏈表P267所謂建立動態(tài)鏈表是指在程序執(zhí)行過程中從無到有地建立起一個鏈表,即一個
38、一個地開辟結(jié)點(diǎn)和輸入各結(jié)點(diǎn)數(shù)據(jù),并建立起前后相鏈的關(guān)系。 例9.9 建立一個有2名學(xué)生學(xué)號和成績數(shù)據(jù)的單向動態(tài)鏈表。解題思路:定義結(jié)構(gòu)體變量,其成員包括學(xué)號、成績和指針變量。動態(tài)地開辟一個新單元(動態(tài)開辟內(nèi)存單元用malloc函數(shù))。使指針變量p和head指向此結(jié)點(diǎn)。向此結(jié)點(diǎn)輸入數(shù)據(jù)。 例9.9 建立一個有2名學(xué)生學(xué)號和成績數(shù)據(jù)的單向動態(tài)鏈表。解題思路:再開辟第2個新結(jié)點(diǎn),并使指針變量p指向此結(jié)點(diǎn)。使第2個結(jié)點(diǎn)中的指針變量的值為NULL,即不指向任何對象,鏈表到此為止。輸出兩個結(jié)點(diǎn)中的數(shù)據(jù)。#include #include #define LEN sizeof(struct student)
39、 struct student int num; float score; struct student *next; ;struct student類型數(shù)據(jù)的長度void main() struct student *head,*p; head=p=(struct student*) malloc(LEN); scanf(“%d,%f”,&p-num,&p-score); p=(struct student*) malloc(LEN); headp10101void main() struct student *head,*p; head=p=(struct student*) malloc
40、(LEN); scanf(“%d,%f”,&p-num,&p-score); p=(struct student*) malloc(LEN); scanf(“%d,%f”,&p-num,&p-score); head-next=p; p=head; head10101 p1010290p-next=NULL; NULLvoid main() struct student *head,*p; head=p=(struct student*) malloc(LEN); scanf(“%d,%f”,&p-num,&p-score); p=(struct student*) malloc(LEN);
41、scanf(“%d,%f”,&p-num,&p-score); head-next=p; p=head; head10101 p1010290p-next=NULL; NULLvoid main() struct student *head,*p; head=p=(struct student*) malloc(LEN); scanf(“%d,%f”,&p-num,&p-score); p=(struct student*) malloc(LEN); scanf(“%d,%f”,&p-num,&p-score); head-next=p; p-next=NULL; p=head; printf(“結(jié)點(diǎn)1:%d,%6.2fn”, p-num,p-score); p=p-next; 10101 p1010290NULL結(jié)點(diǎn)1:void main() struct student *head,*p; head=p=(struct student*) malloc(LEN); scanf(“%d,%f”,&p-num,&p-score); p=(struct student*) malloc(LEN); scanf(“%d,%f”,&p
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 冷庫制冷購銷合同范本
- 人借款合同范本
- 中石油卡代理合同范本
- 單位銷售合同范本模板
- 三門峽吊車出租合同范本
- 代理新房售房合同范本
- 信托與貸款合同范本
- 代買車輛合同范本
- 個人收購合同范本
- 勞務(wù)派遣合同范本 保安
- 零食店食品安全管理制度范本
- 南陽醫(yī)專緩交學(xué)費(fèi)申請表
- 衛(wèi)生部病歷質(zhì)量評價標(biāo)準(zhǔn)
- 乘坐地鐵安全指南(課件)-小學(xué)生主題班會通用版
- 中國石油高效集中的資金管理
- GB/T 17421.2-2023機(jī)床檢驗(yàn)通則第2部分:數(shù)控軸線的定位精度和重復(fù)定位精度的確定
- 重慶市渝北區(qū)大灣鎮(zhèn)招錄村綜合服務(wù)專干模擬預(yù)測(共500題)筆試參考題庫+答案詳解
- 矢量分析和場論基礎(chǔ)
- 進(jìn)步粘滯流體阻尼器埋件的一次驗(yàn)收合格率
- 小升初面試英語自我介紹范文4篇
- 高職院校創(chuàng)新創(chuàng)業(yè)教育數(shù)字化轉(zhuǎn)型和改革研究
評論
0/150
提交評論