




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)20112012第一學(xué)期數(shù)據(jù)結(jié)構(gòu)實驗報告班級:信管一班 學(xué)號: 姓名:史孟晨實驗報告題目及要求 一、實驗題目設(shè)某班級有M(6)名學(xué)生,本學(xué)期共開設(shè)N(3)門課程, 要求實現(xiàn)并修改如下程序(算法)。1. 輸入學(xué)生的學(xué)號、姓名和 N 門課程的成績(輸入提示和輸出顯示使用漢字系統(tǒng)),輸出實驗結(jié)果 。(15分)2. 計算每個學(xué)生本學(xué)期 N 門課程的總分,輸出總分和N門課程成績排在前 3 名學(xué)生的學(xué)號、姓名和成績。3. 按學(xué)生總分和 N 門課程成績關(guān)鍵字升序排列名次,總分相同者同
2、名次。 二、實驗要求1修改算法。將奇偶排序算法升序改為降序。(15分)2用選擇排序、冒泡排序、插入排序分別替換奇偶排序算法,并將升序算法修改為降序算法;。(45分)3編譯、鏈接以上算法,按要求寫出實驗報告(25)。4. 修改后算法的所有語句必須加下劃線,沒做修改語句保持按原樣不動。5用A4紙打印輸出實驗報告。三、實驗報告說明實驗數(shù)據(jù)可自定義,每種排序算法數(shù)據(jù)要求均不重復(fù)。 (1) 實驗題目:N門課程學(xué)生成績名次排序算法實現(xiàn); (2) 實驗?zāi)康模赫莆崭鞣N排序算法的基本思想、實驗方法和驗證算法的準(zhǔn)確性; (3) 實驗要求:對算法進(jìn)行上機(jī)編譯、鏈接、運行; (4) 實驗環(huán)境(Windows XP-s
3、p3,Visual c+); (5) 實驗算法(給出四種排序算法修改后的全部清單); (6) 實驗結(jié)果(四種排序算法模擬運行后的實驗結(jié)果); (7) 實驗體會(文字說明本實驗成功或不足之處)。三、實驗源程序(算法)Score.c#include stdio.h#include string.h#define M 6#define N 3struct student char name10; int number; int scoreN+1; /*scoreN為總分,score0-score2為學(xué)科成績*/ stuM;void changesort(struct student a,int n,
4、int j) int flag=1,i; struct student temp; while(flag) flag=0; for(i=1;iai+1.scorej) temp=ai; ai=ai+1; ai+1=temp; flag=1; for(i=0;iai+1.scorej) temp=ai; ai=ai+1; ai+1=temp; flag=1; void print_score(struct student a,int n,int j) int i,k; printf(“ 奇偶交換 成績 %d 排序表,j+1); printf(n); printf( 名 次 學(xué) 號 姓 名 分 數(shù)
5、n); k=1; for(i=0;kN&i0&ai.scorej!=ai-1.scorej) k+; printf( %4d ,k); printf(%4d,ai.number); printf( %s,); printf( %6d,ai.scorej); printf(n); main() int i,j,k; for (i=0;iM;i+) /*輸入每個學(xué)生信息*/ printf(請輸入第 %d 名學(xué)生分?jǐn)?shù): ,i+1);printf(n); printf(姓 名: ); scanf(%s,); printf(編 號: ); scanf(%4d,&stui.
6、number); printf(數(shù)據(jù)結(jié)構(gòu): ); scanf(%4d,&stui.score0); printf(離散數(shù)學(xué): ); scanf(%4d,&stui.score1); printf(大學(xué)英語: ); scanf(%4d,&stui.score2); for(i=0;iM;i+) /*計算每個學(xué)生總分*/ stui.scoreN=0; for(j=0;jN;j+) stui.scoreN+=stui.scorej; changesort(stu,M,N); /*對總分進(jìn)行排序*/ printf( 學(xué)生總分成績排序表n); printf( 名次 學(xué)號 姓 名 數(shù)據(jù)結(jié)構(gòu) 離散數(shù)學(xué) 大學(xué)
7、英語 總 分n); k=1; for(i=0;i0&stui.scoreN!=stui-1.scoreN) k+; printf(%4d,k); printf( %4d,stui.number); printf( %s,); for(j=0;jN+1;j+) printf( %6d,stui.scorej); printf(n); changesort(stu,M,0); /*對數(shù)據(jù)結(jié)構(gòu)成績進(jìn)行排序*/ print_score(stu,M,0); /*輸出數(shù)據(jù)結(jié)構(gòu)前 3 名同學(xué)成績*/ changesort(stu,M,1); /*對離散數(shù)學(xué)成績進(jìn)行排序*/ print_sc
8、ore(stu,M,1); /*輸出離散數(shù)學(xué)前 3 名同學(xué)成績*/ changesort(stu,M,2); /*對大學(xué)英語成績進(jìn)行排序*/ print_score(stu,M,2); /*輸出大學(xué)英語前 3 名同學(xué)成績*/ 源代碼結(jié)果:請輸入第 1 名學(xué)生分?jǐn)?shù):姓 名: 史孟晨編 號: 01數(shù)據(jù)結(jié)構(gòu): 87離散數(shù)學(xué): 90大學(xué)英語: 78請輸入第 2 名學(xué)生分?jǐn)?shù):姓 名: 袁欣編 號: 02數(shù)據(jù)結(jié)構(gòu): 78離散數(shù)學(xué): 80大學(xué)英語: 92請輸入第 3 名學(xué)生分?jǐn)?shù):姓 名: 趙宇編 號: 03數(shù)據(jù)結(jié)構(gòu): 88離散數(shù)學(xué): 76大學(xué)英語: 95請輸入第 4 名學(xué)生分?jǐn)?shù):姓 名: 滕芷編 號: 04
9、數(shù)據(jù)結(jié)構(gòu): 79離散數(shù)學(xué): 84大學(xué)英語: 88請輸入第 5 名學(xué)生分?jǐn)?shù):姓 名: 張一析編 號: 05數(shù)據(jù)結(jié)構(gòu): 78離散數(shù)學(xué): 68大學(xué)英語: 91請輸入第 6 名學(xué)生分?jǐn)?shù):姓 名: 白曉彤編 號: 06數(shù)據(jù)結(jié)構(gòu): 88離散數(shù)學(xué): 76大學(xué)英語: 90 學(xué)生總分成績排序表 名次 學(xué)號 姓 名 數(shù)據(jù)結(jié)構(gòu) 離散數(shù)學(xué) 大學(xué)英語 總 分 1 5 張一析 78 68 91 237 2 2 袁欣 78 80 92 250 3 4 滕芷 79 84 88 251 4 6 白曉彤 88 76 90 254 5 1 史孟晨 87 90 78 255 6 3 趙宇 88 76 95 259 奇偶交換 成績 1
10、 排序表 名 次 學(xué) 號 姓 名 分 數(shù) 1 5 張一析 78 1 2 袁欣 78 2 4 滕芷 79 3 1 史孟晨 87 奇偶交換 成績 2 排序表 名 次 學(xué) 號 姓 名 分 數(shù) 1 5 張一析 68 2 6 白曉彤 76 2 3 趙宇 76 3 2 袁欣 80 奇偶交換 成績 3 排序表 名 次 學(xué) 號 姓 名 分 數(shù) 1 1 史孟晨 78 2 4 滕芷 88 3 6 白曉彤 90Press any key to continueChange.c#include stdio.h#include string.h#define M 6#define N 3void changesort(
11、struct student a,int n,int j);void print_score(struct student a,int n,int j);struct student char name10; int number; int scoreN+1;/*scoreN為總分,score0-score2為學(xué)科成績*/ stuM;main() int i,j,k; for (i=0;iM;i+)/*輸入每個學(xué)生信息*/ printf(請輸入第 %d 名學(xué)生分?jǐn)?shù): ,i+1);printf(n); printf(姓 名: ); scanf(%s,); printf(編 號:
12、 );scanf(%4d,&stui.number); printf(數(shù)據(jù)結(jié)構(gòu): );scanf(%4d,&stui.score0); printf(離散數(shù)學(xué): );scanf(%4d,&stui.score1);printf(大學(xué)英語: );scanf(%4d,&stui.score2); for(i=0;iM;i+)/*計算每個學(xué)生總分*/ stui.scoreN=0; for(j=0;jN;j+) stui.scoreN+=stui.scorej; changesort(stu,M,N);/*對總分進(jìn)行排序*/printf( 學(xué)生總分成績排序表n); printf( 名次 學(xué)號 姓 名
13、數(shù)據(jù)結(jié)構(gòu) 離散數(shù)學(xué) 大學(xué)英語 總 分n); k=0; for(i=0;i0&stui.scoreN!=stui-1.scoreN) k+; printf(%4d,k);printf( %4d,stui-1.number);printf( %s,);for(j=0;jN+1;j+)printf( %6d,stui-1.scorej); printf(n); changesort(stu,M,0); /*對數(shù)據(jù)結(jié)構(gòu)成績進(jìn)行排序*/ print_score(stu,M,0); /*輸出數(shù)據(jù)結(jié)構(gòu)前 3 名同學(xué)成績*/ changesort(stu,M,1); /*對離散數(shù)學(xué)成績進(jìn)
14、行排序*/ print_score(stu,M,1); /*輸出離散數(shù)學(xué)前 3 名同學(xué)成績*/ changesort(stu,M,2); /*對大學(xué)英語成績進(jìn)行排序*/ print_score(stu,M,2); /*輸出大學(xué)英語前 3 名同學(xué)成績*/ void changesort(struct student a,int n,int j) int flag=1,i;struct student temp; while(flag) flag=0; for(i=1;in-1;i+=2) /*對所有奇數(shù)項進(jìn)行一遍比較*/ if (ai.scorej ai+1.scorej) temp=ai; a
15、i=ai+1; ai+1=temp; flag=1; for(i=0;in-1;i+=2) /*對所有偶數(shù)項進(jìn)行一遍比較*/ if (ai.scorej ai+1.scorej) temp=ai; ai=ai+1; ai+1=temp; flag=1; void print_score(struct student a,int n,int j) int i,k; printf( 奇偶交換 成績 %d 排序表,j+1); printf(n); printf( 名 次 學(xué) 號 姓 名 分 數(shù)n); k=1; for(i=0;kN&i0&ai.scorej!=ai-1.scorej) k+; pri
16、ntf( %4d ,k); printf(%4d,ai.number); printf( %s,); printf( %6d,ai.scorej); printf(n); 升序改降序:請輸入第 1 名學(xué)生分?jǐn)?shù):姓 名: 史孟晨編 號: 01數(shù)據(jù)結(jié)構(gòu): 87離散數(shù)學(xué): 90大學(xué)英語: 78請輸入第 2 名學(xué)生分?jǐn)?shù):姓 名: 袁欣編 號: 02數(shù)據(jù)結(jié)構(gòu): 78離散數(shù)學(xué): 80大學(xué)英語: 92請輸入第 3 名學(xué)生分?jǐn)?shù):姓 名: 趙宇編 號: 03數(shù)據(jù)結(jié)構(gòu): 88離散數(shù)學(xué): 76大學(xué)英語: 95請輸入第 4 名學(xué)生分?jǐn)?shù):姓 名: 滕芷編 號: 04數(shù)據(jù)結(jié)構(gòu): 79離散數(shù)學(xué): 84大學(xué)英語
17、: 88請輸入第 5 名學(xué)生分?jǐn)?shù):姓 名: 張一析編 號: 05數(shù)據(jù)結(jié)構(gòu): 78離散數(shù)學(xué): 68大學(xué)英語: 91請輸入第 6 名學(xué)生分?jǐn)?shù):姓 名: 白曉彤編 號: 06數(shù)據(jù)結(jié)構(gòu): 88離散數(shù)學(xué): 76大學(xué)英語: 90 學(xué)生總分成績排序表 名次 學(xué)號 姓 名 數(shù)據(jù)結(jié)構(gòu) 離散數(shù)學(xué) 大學(xué)英語 總 分 1 3 趙宇 88 76 95 259 2 1 史孟晨 87 90 78 255 3 6 白曉彤 88 76 90 254 4 4 滕芷 79 84 88 251 5 2 袁欣 78 80 92 250 6 5 張一析 78 68 91 237 奇偶交換 成績 1 排序表 名 次 學(xué) 號 姓 名 分 數(shù)
18、 1 3 趙宇 88 1 6 白曉彤 88 2 1 史孟晨 87 3 4 滕芷 79 奇偶交換 成績 2 排序表 名 次 學(xué) 號 姓 名 分 數(shù) 1 1 史孟晨 90 2 4 滕芷 84 3 2 袁欣 80 奇偶交換 成績 3 排序表 名 次 學(xué) 號 姓 名 分 數(shù) 1 3 趙宇 95 2 2 袁欣 92 3 5 張一析 91Press any key to continueSeletsort.c#include stdio.h#include string.h#define M 6#define N 3void changesort(struct student a,int n,int j)
19、;void print_score(struct student a,int n,int j);struct student char name10; int number; int scoreN+1;/*scoreN為總分,score0-score2為學(xué)科成績*/ stuM;main() int i,j,k; for (i=0;iM;i+)/*輸入每個學(xué)生信息*/ printf(請輸入第 %d 名學(xué)生分?jǐn)?shù): ,i+1);printf(n); printf(姓 名: ); scanf(%s,); printf(編 號: );scanf(%4d,&stui.number); p
20、rintf(數(shù)據(jù)結(jié)構(gòu): );scanf(%4d,&stui.score0); printf(離散數(shù)學(xué): );scanf(%4d,&stui.score1);printf(大學(xué)英語: );scanf(%4d,&stui.score2); for(i=0;iM;i+)/*計算每個學(xué)生總分*/ stui.scoreN=0; for(j=0;jN;j+) stui.scoreN+=stui.scorej; changesort(stu,M,N);/*對總分進(jìn)行排序*/printf( 學(xué)生總分成績排序表n); printf( 名次 學(xué)號 姓 名 數(shù)據(jù)結(jié)構(gòu) 離散數(shù)學(xué) 大學(xué)英語 總 分n); k=0; fo
21、r(i=0;i0&stui.scoreN!=stui-1.scoreN) k+; printf(%4d,k);printf( %4d,stui-1.number);printf( %s,);for(j=0;jN+1;j+)printf( %6d,stui-1.scorej); printf(n); changesort(stu,M,0); /*對數(shù)據(jù)結(jié)構(gòu)成績進(jìn)行排序*/ print_score(stu,M,0); /*輸出數(shù)據(jù)結(jié)構(gòu)前 3 名同學(xué)成績*/ changesort(stu,M,1); /*對離散數(shù)學(xué)成績進(jìn)行排序*/ print_score(stu,M,1); /
22、*輸出離散數(shù)學(xué)前 3 名同學(xué)成績*/ changesort(stu,M,2); /*對大學(xué)英語成績進(jìn)行排序*/ print_score(stu,M,2); /*輸出大學(xué)英語前 3 名同學(xué)成績*/ void changesort(struct student a,int n,int j) int flag=1,i,m,k;struct student temp; while(flag) flag=0; for(i=0;in-1;i+) /*選擇排序法*/ k=i;for(m=i+1;mak.scorej)k=m;temp=ai;ai=ak;ak=temp;flag=1; void print_s
23、core(struct student a,int n,int j) int i,k; printf( 選擇交換 成績 %d 排序表,j+1); printf(n); printf( 名 次 學(xué) 號 姓 名 分 數(shù)n); k=1; for(i=0;kN&i0&ai.scorej!=ai-1.scorej) k+; printf( %4d ,k); printf(%4d,ai.number); printf( %s,); printf( %6d,ai.scorej); printf(n); 簡單選擇:請輸入第 1 名學(xué)生分?jǐn)?shù):姓 名: 史孟晨編 號: 01數(shù)據(jù)結(jié)構(gòu): 87離散數(shù)學(xué):
24、 90大學(xué)英語: 78請輸入第 2 名學(xué)生分?jǐn)?shù):姓 名: 袁欣編 號: 02數(shù)據(jù)結(jié)構(gòu): 78離散數(shù)學(xué): 80大學(xué)英語: 92請輸入第 3 名學(xué)生分?jǐn)?shù):姓 名: 趙宇編 號: 03數(shù)據(jù)結(jié)構(gòu): 88離散數(shù)學(xué): 76大學(xué)英語: 95請輸入第 4 名學(xué)生分?jǐn)?shù):姓 名: 滕芷編 號: 04數(shù)據(jù)結(jié)構(gòu): 79離散數(shù)學(xué): 84大學(xué)英語: 88請輸入第 5 名學(xué)生分?jǐn)?shù):姓 名: 張一析編 號: 05數(shù)據(jù)結(jié)構(gòu): 78離散數(shù)學(xué): 68大學(xué)英語: 91請輸入第 6 名學(xué)生分?jǐn)?shù):姓 名: 白曉彤編 號: 06數(shù)據(jù)結(jié)構(gòu): 88離散數(shù)學(xué): 76大學(xué)英語: 90 學(xué)生總分成績排序表 名次 學(xué)號 姓 名 數(shù)據(jù)結(jié)構(gòu) 離散數(shù)學(xué) 大
25、學(xué)英語 總 分 1 3 趙宇 88 76 95 259 2 1 史孟晨 87 90 78 255 3 6 白曉彤 88 76 90 254 4 4 滕芷 79 84 88 251 5 2 袁欣 78 80 92 250 6 5 張一析 78 68 91 237 選擇交換 成績 1 排序表 名 次 學(xué) 號 姓 名 分 數(shù) 1 3 趙宇 88 1 6 白曉彤 88 2 1 史孟晨 87 3 4 滕芷 79 選擇交換 成績 2 排序表 名 次 學(xué) 號 姓 名 分 數(shù) 1 1 史孟晨 90 2 4 滕芷 84 3 2 袁欣 80 選擇交換 成績 3 排序表 名 次 學(xué) 號 姓 名 分 數(shù) 1 3 趙宇
26、 95 2 2 袁欣 92 3 5 張一析 91Press any key to continueBubblesort.c#include stdio.h#include string.h#define M 6#define N 3void changesort(struct student a,int n,int j);void print_score(struct student a,int n,int j);struct student char name10; int number; int scoreN+1;/*scoreN為總分,score0-score2為學(xué)科成績*/ stuM;
27、main() int i,j,k; for (i=0;iM;i+)/*輸入每個學(xué)生信息*/ printf(請輸入第 %d 名學(xué)生分?jǐn)?shù): ,i+1);printf(n); printf(姓 名: ); scanf(%s,); printf(編 號: );scanf(%4d,&stui.number); printf(數(shù)據(jù)結(jié)構(gòu): );scanf(%4d,&stui.score0); printf(離散數(shù)學(xué): );scanf(%4d,&stui.score1);printf(大學(xué)英語: );scanf(%4d,&stui.score2); for(i=0;iM;i+)/*計算每個學(xué)
28、生總分*/ stui.scoreN=0; for(j=0;jN;j+) stui.scoreN+=stui.scorej; changesort(stu,M,N);/*對總分進(jìn)行排序*/printf( 學(xué)生總分成績排序表n); printf( 名次 學(xué)號 姓 名 數(shù)據(jù)結(jié)構(gòu) 離散數(shù)學(xué) 大學(xué)英語 總 分n); k=0; for(i=0;i0&stui.scoreN!=stui-1.scoreN) k+; printf(%4d,k);printf( %4d,stui-1.number);printf( %s,);for(j=0;jN+1;j+)printf( %6d,stui-
29、1.scorej); printf(n); changesort(stu,M,0); /*對數(shù)據(jù)結(jié)構(gòu)成績進(jìn)行排序*/ print_score(stu,M,0); /*輸出數(shù)據(jù)結(jié)構(gòu)前 3 名同學(xué)成績*/ changesort(stu,M,1); /*對離散數(shù)學(xué)成績進(jìn)行排序*/ print_score(stu,M,1); /*輸出離散數(shù)學(xué)前 3 名同學(xué)成績*/ changesort(stu,M,2); /*對大學(xué)英語成績進(jìn)行排序*/ print_score(stu,M,2); /*輸出大學(xué)英語前 3 名同學(xué)成績*/ void changesort(struct student a,int n,in
30、t j) int flag=1,i;struct student temp; while(flag) flag=0; for(i=0;in;i+) /*冒泡排序法*/ if (ai.scorej ai+1.scorej) temp=ai; ai=ai+1; ai+1=temp; flag=1; void print_score(struct student a,int n,int j) int i,k; printf( 冒泡交換 成績 %d 排序表,j+1); printf(n); printf( 名 次 學(xué) 號 姓 名 分 數(shù)n); k=1; for(i=0;kN&i0&ai.scorej!
31、=ai-1.scorej) k+; printf( %4d ,k); printf(%4d,ai.number); printf( %s,); printf( %6d,ai.scorej); printf(n); 運行結(jié)果:請輸入第 1 名學(xué)生分?jǐn)?shù):姓 名: 史孟晨編 號: 01數(shù)據(jù)結(jié)構(gòu): 87離散數(shù)學(xué): 90大學(xué)英語: 78請輸入第 2 名學(xué)生分?jǐn)?shù):姓 名: 袁欣編 號: 02數(shù)據(jù)結(jié)構(gòu): 78離散數(shù)學(xué): 80大學(xué)英語: 92請輸入第 3 名學(xué)生分?jǐn)?shù):姓 名: 趙宇編 號: 03數(shù)據(jù)結(jié)構(gòu): 88離散數(shù)學(xué): 76大學(xué)英語: 95請輸入第 4 名學(xué)生分?jǐn)?shù):姓 名: 滕芷編 號: 04
32、數(shù)據(jù)結(jié)構(gòu): 79離散數(shù)學(xué): 84大學(xué)英語: 88請輸入第 5 名學(xué)生分?jǐn)?shù):姓 名: 張一析編 號: 05數(shù)據(jù)結(jié)構(gòu): 78離散數(shù)學(xué): 68大學(xué)英語: 91請輸入第 6 名學(xué)生分?jǐn)?shù):姓 名: 白曉彤編 號: 06數(shù)據(jù)結(jié)構(gòu): 88離散數(shù)學(xué): 76大學(xué)英語: 90 學(xué)生總分成績排序表 名次 學(xué)號 姓 名 數(shù)據(jù)結(jié)構(gòu) 離散數(shù)學(xué) 大學(xué)英語 總 分 1 3 趙宇 88 76 95 259 2 1 史孟晨 87 90 78 255 3 6 白曉彤 88 76 90 254 4 4 滕芷 79 84 88 251 5 2 袁欣 78 80 92 250 6 5 張一析 78 68 91 237 冒泡交換 成績 1
33、 排序表 名 次 學(xué) 號 姓 名 分 數(shù) 1 3 趙宇 88 1 6 白曉彤 88 2 1 史孟晨 87 3 4 滕芷 79 冒泡交換 成績 2 排序表 名 次 學(xué) 號 姓 名 分 數(shù) 1 1 史孟晨 90 2 4 滕芷 84 3 2 袁欣 80 冒泡交換 成績 3 排序表 名 次 學(xué) 號 姓 名 分 數(shù) 1 3 趙宇 95 2 2 袁欣 92 3 5 張一析 91Press any key to continueJusertsort.c#include stdio.h#include string.h#define M 6#define N 3void changesort(struct s
34、tudent a,int n,int j);void print_score(struct student a,int n,int j);struct student char name10; int number; int scoreN+1;/*scoreN為總分,score0-score2為學(xué)科成績*/ stuM;main() int i,j,k; for (i=0;iM;i+)/*輸入每個學(xué)生信息*/ printf(請輸入第 %d 名學(xué)生分?jǐn)?shù): ,i+1);printf(n); printf(姓 名: ); scanf(%s,); printf(編 號: );scanf
35、(%4d,&stui.number); printf(數(shù)據(jù)結(jié)構(gòu): );scanf(%4d,&stui.score0); printf(離散數(shù)學(xué): );scanf(%4d,&stui.score1);printf(大學(xué)英語: );scanf(%4d,&stui.score2); for(i=0;iM;i+)/*計算每個學(xué)生總分*/ stui.scoreN=0; for(j=0;jN;j+) stui.scoreN+=stui.scorej; changesort(stu,M,N);/*對總分進(jìn)行排序*/printf( 學(xué)生總分成績排序表n); printf( 名次 學(xué)號 姓 名 數(shù)據(jù)結(jié)構(gòu) 離散數(shù)
36、學(xué) 大學(xué)英語 總 分n); k=0; for(i=0;i0&stui.scoreN!=stui-1.scoreN) k+; printf(%4d,k);printf( %4d,stui-1.number);printf( %s,);for(j=0;jN+1;j+)printf( %6d,stui-1.scorej); printf(n); changesort(stu,M,0); /*對數(shù)據(jù)結(jié)構(gòu)成績進(jìn)行排序*/ print_score(stu,M,0); /*輸出數(shù)據(jù)結(jié)構(gòu)前 3 名同學(xué)成績*/ changesort(stu,M,1); /*對離散數(shù)學(xué)成績進(jìn)行排序*/ pr
37、int_score(stu,M,1); /*輸出離散數(shù)學(xué)前 3 名同學(xué)成績*/ changesort(stu,M,2); /*對大學(xué)英語成績進(jìn)行排序*/ print_score(stu,M,2); /*輸出大學(xué)英語前 3 名同學(xué)成績*/ void changesort(struct student a,int n,int j) int i, m;struct student temp; /*插入排序法*/ for(i=1; i0 & temp.scorej am-1.scorej; m-) am = am-1; am = temp; void print_score(struct studen
38、t a,int n,int j) int i,k; printf( 插入交換 成績 %d 排序表,j+1); printf(n); printf( 名 次 學(xué) 號 姓 名 分 數(shù)n); k=1; for(i=0;kN&i0&ai.scorej!=ai-1.scorej) k+; printf( %4d ,k); printf(%4d,ai.number); printf( %s,); printf( %6d,ai.scorej); printf(n); 請輸入第 1 名學(xué)生分?jǐn)?shù):姓 名: 史孟晨編 號: 01數(shù)據(jù)結(jié)構(gòu): 87離散數(shù)學(xué): 90大學(xué)英語: 78請輸入第 2 名學(xué)生分?jǐn)?shù):姓 名: 袁欣編 號: 02數(shù)據(jù)結(jié)構(gòu): 78離散數(shù)學(xué): 80大學(xué)英語: 92請輸入第 3 名學(xué)生分?jǐn)?shù):姓 名: 趙宇編 號: 03數(shù)據(jù)結(jié)構(gòu): 88離散數(shù)學(xué): 76大學(xué)英語: 95請輸入第 4 名學(xué)生分?jǐn)?shù):姓 名: 滕芷編 號: 04數(shù)據(jù)結(jié)構(gòu): 79離散數(shù)學(xué): 84大學(xué)英語: 88請輸入第 5 名學(xué)生分?jǐn)?shù):姓 名: 張一析編 號: 05數(shù)據(jù)結(jié)構(gòu): 78離散數(shù)學(xué): 68大學(xué)英語: 91請輸入第 6 名學(xué)生分?jǐn)?shù):姓 名: 白曉彤編 號: 06數(shù)據(jù)結(jié)構(gòu): 8
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高職單招面試培訓(xùn)
- 服務(wù)與教學(xué)培訓(xùn)
- 全國上海科教版初中信息技術(shù)八年級第一學(xué)期第三單元活動三《設(shè)計家庭網(wǎng)絡(luò)》教學(xué)設(shè)計
- 人教部編版五年級下冊景陽岡教學(xué)設(shè)計及反思
- 地震救援高級培訓(xùn)課件
- 材料安全復(fù)習(xí)測試卷
- 《營養(yǎng)含量》(教學(xué)設(shè)計)-2024-2025學(xué)年北師大版小學(xué)數(shù)學(xué)六年級上冊
- 【八下HK數(shù)學(xué)】安徽省桐城市黃崗初級中學(xué)2023-2024學(xué)年八年級下學(xué)期期中數(shù)學(xué)試題
- 江蘇省宿遷市沭陽縣鄉(xiāng)鎮(zhèn)聯(lián)考2024-2025學(xué)年八年級下學(xué)期4月期中數(shù)學(xué)試題(原卷版+解析版)
- 大氣環(huán)境生態(tài)信息傳播重點基礎(chǔ)知識點
- 養(yǎng)老床位建設(shè)服務(wù)方案(技術(shù)方案)
- 《學(xué)打結(jié)做毽子》教學(xué)課件
- 語文-湖南省長郡二十校聯(lián)盟2025屆新高考教學(xué)教研聯(lián)盟高三第一次聯(lián)考(長郡二十校一聯(lián))試題和答案
- 個人用電協(xié)議合同范例
- 建筑工程再生能源規(guī)劃
- 《自動化控制系統(tǒng)培訓(xùn)課件》
- 基于專利視角下人工智能在合成生物學(xué)中的應(yīng)用
- 多元函數(shù)概述
- 廚師用電安全培訓(xùn)
- 2025贍養(yǎng)老人個稅扣除分?jǐn)倕f(xié)議書模板
- 《陸上風(fēng)電場工程變形測量技術(shù)規(guī)程》
評論
0/150
提交評論