版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
設(shè)計(jì)報(bào)告課程名稱C語(yǔ)言程序設(shè)計(jì)題目名稱根據(jù)條件進(jìn)行學(xué)生成績(jī)排名學(xué)生學(xué)院專業(yè)班級(jí)學(xué)號(hào)學(xué)生姓名指導(dǎo)教師2010年4月18日實(shí)訓(xùn)——根據(jù)條件進(jìn)行學(xué)生成績(jī)排名實(shí)訓(xùn)的目的和要求通過(guò)實(shí)踐,了解學(xué)生成績(jī)排名在C語(yǔ)言中的設(shè)計(jì),并能成功設(shè)計(jì)出學(xué)生成績(jī)的排序和統(tǒng)計(jì)不同成績(jī)段中學(xué)生人數(shù)的代碼。實(shí)訓(xùn)的要求在項(xiàng)目報(bào)告中畫(huà)出程序流程圖,說(shuō)明程序設(shè)計(jì)的算法,附上程序代碼。在項(xiàng)目中說(shuō)明知識(shí)點(diǎn)。在項(xiàng)目中報(bào)告中說(shuō)明程序設(shè)計(jì)過(guò)程中的難點(diǎn)、解決辦法及編程小結(jié)和體會(huì)。實(shí)訓(xùn)的內(nèi)容在函數(shù)中進(jìn)行10個(gè)學(xué)生成績(jī)從高到低排名sort(inta[10])。改進(jìn)第一步的函數(shù)為sort(inta[],intn),進(jìn)行n個(gè)學(xué)生成績(jī)從高到低排名。改進(jìn)第二步的函數(shù)為sort(inta[],intn,charstyle),將n個(gè)學(xué)生成績(jī)從高到低排名,排名方式根據(jù)sort()函數(shù)的style參數(shù)進(jìn)行,如style為’a’按升序排列,style為’d’按降序排列。分別統(tǒng)計(jì)不同成績(jī)段中學(xué)生人數(shù),A類90-100,B類80-89,C類70-79,D類60-69,E類為60分以下。實(shí)訓(xùn)的過(guò)程1、在函數(shù)中進(jìn)行10個(gè)學(xué)生成績(jī)從高到低排名sort(inta[10])。(1)程序設(shè)計(jì)算法描述如下:S1:輸入10個(gè)學(xué)生的成績(jī)S2:i0S3:把其中一個(gè)成績(jī)分別與其他9-i個(gè)成績(jī)比較大小,確定在這10個(gè)成績(jī)中的位置S4:i+1iS5:當(dāng)i<9時(shí),轉(zhuǎn)S3繼續(xù)執(zhí)行,否則輸出排名后的10個(gè)成績(jī),算法停止。(2)程序流程圖如下:輸入10個(gè)學(xué)生的成績(jī)給a[0]到a[9]j由0變到8共執(zhí)行9次循環(huán)進(jìn)行9-j次比較真a[i]>a[j]假a[i]a[j]輸出a[0]到a[9](3)程序代碼如下:#include<stdio.h>voidmain(){inta[10],i; intsort(inta[10]);for(i=0;i<10;i++) { printf("請(qǐng)輸入第%d個(gè)學(xué)生成績(jī)是:",i+1);/*輸入成績(jī)*/ scanf("%d",&a[i]); } printf("==============================\n"); printf("這些學(xué)生的分?jǐn)?shù)成績(jī)排名是:\n"); sort(a);}intsort(inta[10]){inti=0,j=0,t;/*冒泡法排序*/for(i=0;i<10;i++){for(j=0;j<9;j++)/*進(jìn)行9次循環(huán),實(shí)現(xiàn)9趟比較*/ {if(a[i]>a[j])/*相鄰兩個(gè)數(shù)比較*/ {t=a[j];a[j]=a[i];a[i]=t; } }}for(i=0;i<10;i++) {printf("第%d名的分?jǐn)?shù)是:%d\n",i+1,a[i]);/*輸出成績(jī)*/ }return0;}2、改進(jìn)第一步的函數(shù)為sort(inta[],intn),進(jìn)行n個(gè)學(xué)生成績(jī)從高到低排名。(1)程序設(shè)計(jì)算法描述如下:S1:輸入n個(gè)學(xué)生的成績(jī)S2:i0S3:把其中一個(gè)成績(jī)分別與其他n-1-i個(gè)成績(jī)比較大小,確定在這n個(gè)成績(jī)中的位置S4:i+1iS5:當(dāng)i<n-1時(shí),轉(zhuǎn)S3繼續(xù)執(zhí)行,否則輸出排名后的n個(gè)成績(jī),算法停止。(2)程序流程圖如下:輸入n個(gè)學(xué)生的成績(jī)給a[0]到a[n-1]j由0變到n-2共執(zhí)行n-1次循環(huán)進(jìn)行n-1-j次比較真a[i]>a[j]假a[i]a[j]輸出a[0]到a[n-1](3)程序代碼如下:#include<stdio.h>voidmain(){int*a,i,n;a=newint; printf("一共有學(xué)生n="); scanf("%d",&n); intsort(inta[],intn);for(i=0;i<n;i++) { printf("輸入第%d個(gè)學(xué)生成績(jī)是:",i+1);/*輸入成績(jī)*/ scanf("%d",&a[i]); } printf("============================\n"); printf("這些學(xué)生的成績(jī)排名是:\n"); sort(a,n);}intsort(inta[],intn){inti=0,j=0,t;/*冒泡法排序*/for(i=0;i<n;i++){for(j=0;j<n-1;j++)/*進(jìn)行n-1次循環(huán),實(shí)現(xiàn)n-1趟比較*/{if(a[i]>a[j]){t=a[j];a[j]=a[i];a[i]=t;}}}for(i=0;i<n;i++){printf("第%d名的分?jǐn)?shù)是:%d\n",i+1,a[i]);/*輸出成績(jī)*/}return0;}3、改進(jìn)第二步的函數(shù)為sort(inta[],intn,charstyle),將n個(gè)學(xué)生成績(jī)從高到低排名,排名方式根據(jù)sort()函數(shù)的style參數(shù)進(jìn)行,如style為’a’按升序排列,style為’d’按降序排列。(1)程序設(shè)計(jì)算法描述如下:S1:輸入n個(gè)學(xué)生成績(jī)S2:選擇排列方式aorb,style為’a’按升序排列,style為’d’按降序排列S3:把其中一個(gè)成績(jī)分別與其他n-1-i個(gè)成績(jī)比較大小,確定在這n個(gè)成績(jī)中的位置S4:i+1iS5:當(dāng)i<n-1時(shí),轉(zhuǎn)S3繼續(xù)執(zhí)行,否則輸出排名后的n個(gè)成績(jī),算法停止。(2)程序流程圖如下:輸入n個(gè)學(xué)生的成績(jī)給a[0]到a[n-1]選擇排列方式aorbastylebj由0變到n-2共執(zhí)行n-1次循環(huán)進(jìn)行n-1-j次比較真a[i]<a[j]假真a[i]>a[j]假a[i]a[j]a[i]a[j]輸出a[0]到a[n-1](3)程序代碼如下:#include<stdio.h>#include<conio.h>voidmain(){int*a,i,n;a=newint; charstyle; intascending(inta[],intn);intdescending(inta[],intn); printf("一共有學(xué)生n="); scanf("%d",&n); intsort(inta[],intn,charstyle);for(i=0;i<n;i++) { printf("輸入第%d個(gè)學(xué)生成績(jī)是:",i+1); scanf("%d",&a[i]); } printf("============================\n"); printf("請(qǐng)輸入排序的方式,a為升序,b為降序:"); style=getche(); printf("這些學(xué)生的成績(jī)排名是:\n"); sort(a,n,style); for(i=0;i<n;i++) {printf("%d\n",a[i]); }}intsort(inta[],intn,charstyle){inti=0,j=0,t; if(style=='a') for(i=0;i<n;i++) {for(j=0;j<n-1;j++) {if(a[i]<a[j]) {t=a[j];a[j]=a[i];a[i]=t; } } } if(style=='b') for(i=0;i<n;i++) {for(j=0;j<n-1;j++) {if(a[i]>a[j]) {t=a[j];a[j]=a[i];a[i]=t; } } } return0;}4、分別統(tǒng)計(jì)不同成績(jī)段中學(xué)生人數(shù),A類90-100,B類80-89,C類70-79,D類60-69,E類為60分以下。(1)程序設(shè)計(jì)算法描述如下:S1:i0,A0,B0,C0,D0,E0S2:輸入學(xué)生人數(shù)nS3:輸入學(xué)生成績(jī)S4:若大于等于90,小于等于100,則A+1A,然后轉(zhuǎn)到S10S5:若大于等于80,小于等于89,則B+1B,然后轉(zhuǎn)到S10S6:若大于等于70,小于等于79,則C+1C,然后轉(zhuǎn)到S9S7:若大于等于60,小于等于69,則D+1D,然后轉(zhuǎn)到S9S8:若小于60,則E+1E,然后轉(zhuǎn)到S9S9:i+1iS10:當(dāng)i≤n時(shí),轉(zhuǎn)S5繼續(xù)執(zhí)行,否則輸出A、B、C、D、E。(2)程序流程圖如下:開(kāi)始開(kāi)始i=0輸入人數(shù)n輸入成績(jī)9090≤a[i+1]≤100A+1AB+1BC+1CD+1DE+1E70≤a[i+1]≤7960≤a[i+1]≤6980≤a[i+1]≤89a[i+1]<60i+1ii≤n輸出A、B、C、D、E結(jié)束(3)程序代碼如下:#include<stdio.h>voidmain(){int*a,i,n; a=newint; intA=0;intB=0;intC=0;intD=0;intE=0; printf("一共有學(xué)生n="); scanf("%d",&n); intsort(inta[],intn);for(i=0;i<n;i++) { printf("輸入第%d個(gè)學(xué)生成績(jī)是:",i+1); scanf("%d",&a[i]); } for(i=0;i<n;i++) { if(a[i]<=100&&a[i]>=90) A=A+1; if(a[i]<90&&a[i]>=80) B=B+1; if(a[i]<80&&a[i]>=70) C=C+1; if(a[i]<70&&a[i]>=60) D=D+1; if(a[i]<60&&a[i]>0) E=E+1; } printf("得到A的同學(xué)人數(shù)為%d\n得到B的同學(xué)人數(shù)為%d\n得到C的同學(xué)人數(shù)為%d\n得到D的同學(xué)人數(shù)為%d\n得到E的同學(xué)人數(shù)為%d\n",A,B,C,D,E);}項(xiàng)目中的知識(shí)點(diǎn)本實(shí)訓(xùn)的知識(shí)點(diǎn)主要有N-S流程圖的制作,自定義函數(shù),數(shù)組的應(yīng)用,數(shù)組形式比較大少,for語(yǔ)句、if語(yǔ)句的運(yùn)用,循環(huán)的嵌套,冒泡法排序等。難點(diǎn)及解決辦法在畫(huà)N-S流程圖過(guò)程中,邊框線條不知
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 五官科住院部制度
- 東莞消防安全制度
- 品德交通安全伴我行課件
- 2026年昭平縣公安局公開(kāi)招聘警務(wù)輔助人員備考題庫(kù)及一套答案詳解
- 東莞市公安局橫瀝分局2025年第5批警務(wù)輔助人員招聘?jìng)淇碱}庫(kù)及答案詳解參考
- 東莞市公安局水上分局麻涌水上派出所2025年第1批警務(wù)輔助人員招聘?jìng)淇碱}庫(kù)及1套參考答案詳解
- 中共啟東市委組織部2026年校園招聘?jìng)淇碱}庫(kù)及答案詳解1套
- 2025至2030中國(guó)抗結(jié)核藥物市場(chǎng)供需狀況及未來(lái)趨勢(shì)預(yù)測(cè)報(bào)告
- 2026中國(guó)汽車(chē)熱交換器行業(yè)運(yùn)營(yíng)態(tài)勢(shì)與應(yīng)用前景預(yù)測(cè)報(bào)告
- 2025至2030教育云計(jì)算服務(wù)模式創(chuàng)新與行業(yè)應(yīng)用深度研究報(bào)告
- 2026年酒店服務(wù)員考試題及答案
- 普速鐵路行車(chē)技術(shù)管理課件 項(xiàng)目二 行車(chē)組織基礎(chǔ)
- 《(2025年)中國(guó)類風(fēng)濕關(guān)節(jié)炎診療指南》解讀課件
- 炎德·英才·名校聯(lián)考聯(lián)合體2026屆高三年級(jí)1月聯(lián)考語(yǔ)文試卷(含答及解析)
- 麥當(dāng)勞行業(yè)背景分析報(bào)告
- 中國(guó)心理行業(yè)分析報(bào)告
- 2025至2030中國(guó)生物芯片(微陣列和和微流控)行業(yè)運(yùn)營(yíng)態(tài)勢(shì)與投資前景調(diào)查研究報(bào)告
- 結(jié)核性支氣管狹窄的診治及護(hù)理
- 2025年鐵嶺衛(wèi)生職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性考試模擬測(cè)試卷附答案
- 急腹癥的識(shí)別與護(hù)理
- 2025年新能源電力系統(tǒng)仿真技術(shù)及應(yīng)用研究報(bào)告
評(píng)論
0/150
提交評(píng)論