




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
設(shè)計報告課程名稱C語言程序設(shè)計題目名稱根據(jù)條件進行學(xué)生成績排名學(xué)生學(xué)院專業(yè)班級學(xué)號學(xué)生姓名指導(dǎo)教師2010年4月18日實訓(xùn)——根據(jù)條件進行學(xué)生成績排名實訓(xùn)的目的和要求通過實踐,了解學(xué)生成績排名在C語言中的設(shè)計,并能成功設(shè)計出學(xué)生成績的排序和統(tǒng)計不同成績段中學(xué)生人數(shù)的代碼。實訓(xùn)的要求在項目報告中畫出程序流程圖,說明程序設(shè)計的算法,附上程序代碼。在項目中說明知識點。在項目中報告中說明程序設(shè)計過程中的難點、解決辦法及編程小結(jié)和體會。實訓(xùn)的內(nèi)容在函數(shù)中進行10個學(xué)生成績從高到低排名sort(inta[10])。改進第一步的函數(shù)為sort(inta[],intn),進行n個學(xué)生成績從高到低排名。改進第二步的函數(shù)為sort(inta[],intn,charstyle),將n個學(xué)生成績從高到低排名,排名方式根據(jù)sort()函數(shù)的style參數(shù)進行,如style為’a’按升序排列,style為’d’按降序排列。分別統(tǒng)計不同成績段中學(xué)生人數(shù),A類90-100,B類80-89,C類70-79,D類60-69,E類為60分以下。實訓(xùn)的過程1、在函數(shù)中進行10個學(xué)生成績從高到低排名sort(inta[10])。(1)程序設(shè)計算法描述如下:S1:輸入10個學(xué)生的成績S2:i0S3:把其中一個成績分別與其他9-i個成績比較大小,確定在這10個成績中的位置S4:i+1iS5:當i<9時,轉(zhuǎn)S3繼續(xù)執(zhí)行,否則輸出排名后的10個成績,算法停止。(2)程序流程圖如下:輸入10個學(xué)生的成績給a[0]到a[9]j由0變到8共執(zhí)行9次循環(huá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("請輸入第%d個學(xué)生成績是:",i+1);/*輸入成績*/ scanf("%d",&a[i]); } printf("==============================\n"); printf("這些學(xué)生的分數(shù)成績排名是:\n"); sort(a);}intsort(inta[10]){inti=0,j=0,t;/*冒泡法排序*/for(i=0;i<10;i++){for(j=0;j<9;j++)/*進行9次循環(huán),實現(xiàn)9趟比較*/ {if(a[i]>a[j])/*相鄰兩個數(shù)比較*/ {t=a[j];a[j]=a[i];a[i]=t; } }}for(i=0;i<10;i++) {printf("第%d名的分數(shù)是:%d\n",i+1,a[i]);/*輸出成績*/ }return0;}2、改進第一步的函數(shù)為sort(inta[],intn),進行n個學(xué)生成績從高到低排名。(1)程序設(shè)計算法描述如下:S1:輸入n個學(xué)生的成績S2:i0S3:把其中一個成績分別與其他n-1-i個成績比較大小,確定在這n個成績中的位置S4:i+1iS5:當i<n-1時,轉(zhuǎn)S3繼續(xù)執(zhí)行,否則輸出排名后的n個成績,算法停止。(2)程序流程圖如下:輸入n個學(xué)生的成績給a[0]到a[n-1]j由0變到n-2共執(zhí)行n-1次循環(huá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個學(xué)生成績是:",i+1);/*輸入成績*/ scanf("%d",&a[i]); } printf("============================\n"); printf("這些學(xué)生的成績排名是:\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++)/*進行n-1次循環(huán),實現(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名的分數(shù)是:%d\n",i+1,a[i]);/*輸出成績*/}return0;}3、改進第二步的函數(shù)為sort(inta[],intn,charstyle),將n個學(xué)生成績從高到低排名,排名方式根據(jù)sort()函數(shù)的style參數(shù)進行,如style為’a’按升序排列,style為’d’按降序排列。(1)程序設(shè)計算法描述如下:S1:輸入n個學(xué)生成績S2:選擇排列方式aorb,style為’a’按升序排列,style為’d’按降序排列S3:把其中一個成績分別與其他n-1-i個成績比較大小,確定在這n個成績中的位置S4:i+1iS5:當i<n-1時,轉(zhuǎn)S3繼續(xù)執(zhí)行,否則輸出排名后的n個成績,算法停止。(2)程序流程圖如下:輸入n個學(xué)生的成績給a[0]到a[n-1]選擇排列方式aorbastylebj由0變到n-2共執(zhí)行n-1次循環(huá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個學(xué)生成績是:",i+1); scanf("%d",&a[i]); } printf("============================\n"); printf("請輸入排序的方式,a為升序,b為降序:"); style=getche(); printf("這些學(xué)生的成績排名是:\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)計不同成績段中學(xué)生人數(shù),A類90-100,B類80-89,C類70-79,D類60-69,E類為60分以下。(1)程序設(shè)計算法描述如下:S1:i0,A0,B0,C0,D0,E0S2:輸入學(xué)生人數(shù)nS3:輸入學(xué)生成績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:當i≤n時,轉(zhuǎn)S5繼續(xù)執(zhí)行,否則輸出A、B、C、D、E。(2)程序流程圖如下:開始開始i=0輸入人數(shù)n輸入成績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個學(xué)生成績是:",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);}項目中的知識點本實訓(xùn)的知識點主要有N-S流程圖的制作,自定義函數(shù),數(shù)組的應(yīng)用,數(shù)組形式比較大少,for語句、if語句的運用,循環(huán)的嵌套,冒泡法排序等。難點及解決辦法在畫N-S流程圖過程中,邊框線條不知
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 制作柜子合同范本
- 單位內(nèi)部變更合同范本
- app研發(fā)合同范本
- 2025年云南省安全員C證考試題庫
- 立德樹人背景下高職體育教學(xué)改革研究
- 勞動合同范本 深圳
- 眾籌二手車合同范本
- 企業(yè)轉(zhuǎn)移員工勞動合同范本
- 公司簽訂合作合同范本
- 單位租用民房合同范本
- 法律方法階梯PPT課件
- 計算機2級二級浙江旅游概述
- 口腔科四手操作[]通用課件
- 試論顱腦損傷診斷和治療和有效治療
- 故事我把媽媽弄丟了ppt課件
- NACE產(chǎn)品金屬材料要求
- 計算機科學(xué)與技術(shù)畢業(yè)論文88101
- 第六章生產(chǎn)要素市場和收入分配
- 小學(xué)英語教學(xué)質(zhì)量分析報告(課堂PPT)
- 般若波羅蜜多心經(jīng)楷體(繁體字)
- 中儲糧購銷電子交易平臺成交合同
評論
0/150
提交評論