設計報告
課程名稱 c語言程式設計
題目名稱根據條件進行學生成績排名
學生學院
專業班級
學號學生姓名
指導教師
2023年4月18日
實訓——根據條件進行學生成績排名
一、 實訓的目的和要求
通過實踐,了解學生成績排名在c語言中的設計,並能成功設計出學生成績的排序和統計不同成績段中學生人數的**。
二、 實訓的要求
1、 在專案報告中畫出程式流程圖,說明程式設計的演算法,附上程式**。
2、 在專案中說明知識點。
3、 在專案中報告中說明程式設計過程中的難點、解決辦法及程式設計小結和體會。
三、 實訓的內容
1、 在函式中進行10個學生成績從高到低排名sort(int a[10])。
2、 改進第一步的函式為sort(int a,int n),進行n個學生成績從高到低排名。
3、 改進第二步的函式為sort(int a,int n,char style),將n個學生成績從高到低排名,排名方式根據sort()函式的style引數進行,如style為』a』按公升序排列,style為』d』按降序排列。
4、 分別統計不同成績段中學生人數,a類90-100,b類80-89,c類70-79,d類60-69,e類為60分以下。
四、 實訓的過程
1、在函式中進行10個學生成績從高到低排名sort(int a[10])。
(1)程式設計演算法描述如下:
s1:輸入10個學生的成績
s2:i0
s3:把其中乙個成績分別與其他9-i個成績比較大小,確定在這10個成績中的位置
s4:i+1i
s5:當i<9時,轉s3繼續執行,否則輸出排名後的10個成績,演算法停止。
(2)程式流程圖如下:
輸入10個學生的成績給a[0]到a[9]
j由0變到8共執行9次迴圈
進行9-j次比較
真a[i]>a[j假
a[i] a[j]
輸出a[0]到a[9]
(3)程式**如下:
#include <>
void main()
printfn");
printf("這些學生的分數成績排名是:\n");
sort(a);
}int sort (int a[10])
}} for(i=0;i<10;i++)
return 0;
}2、改進第一步的函式為sort(int a,int n),進行n個學生成績從高到低排名。
(1)程式設計演算法描述如下:
s1:輸入n個學生的成績
s2:i0
s3:把其中乙個成績分別與其他n-1-i個成績比較大小,確定在這n個成績中的位置
s4:i+1i
s5:當i<n-1時,轉s3繼續執行,否則輸出排名後的n個成績,演算法停止。
(2)程式流程圖如下:
輸入n個學生的成績給a[0]到a[n-1]
j由0變到n-2共執行n-1次迴圈
進行n-1-j次比較
真a[i]>a[j假
a[i] a[j]
輸出a[0]到a[n-1]
(3)程式**如下:
#include <>
void main()
printfn");
printf("這些學生的成績排名是:\n");
sort(a,n);
}int sort (int a,int n)
} }for(i=0;i
return 0;
}3、改進第二步的函式為sort(int a,int n,char style),將n個學生成績從高到低排名,排名方式根據sort()函式的style引數進行,如style為』a』按公升序排列,style為』d』按降序排列。
(1)程式設計演算法描述如下:
s1:輸入n個學生成績
s2:選擇排列方式a or b,style為』a』按公升序排列,style為』d』按降序排列
s3:把其中乙個成績分別與其他n-1-i個成績比較大小,確定在這n個成績中的位置
s4:i+1i
s5:當i<n-1時,轉s3繼續執行,否則輸出排名後的n個成績,演算法停止。
(2)程式流程圖如下:
輸入n個學生的成績給a[0]到a[n-1]
選擇排列方式a or b
astyleb
j由0變到n-2共執行n-1次迴圈
進行n-1-j次比較
真a[i]a[j假
a[i] a[ja[i] a[j]
輸出a[0]到a[n-1]
(3)程式**如下:
#include <>
#include<>
void main()
printfn");
printf("請輸入排序的方式,a為公升序,b為降序:");
style=getche();
printf("這些學生的成績排名是:\n ");
sort(a,n,style);
for(i=0;i
}int sort(int a,int n,char style)
return 0;
}4、分別統計不同成績段中學生人數,a類90-100,b類80-89,c類70-79,d類60-69,e類為60分以下。
(1)程式設計演算法描述如下:
s1:i0,a0,b0,c0,d0,e0
s2:輸入學生人數n
s3:輸入學生成績
s4:若大於等於90,小於等於100,則a+1a,然後轉到s10
s5:若大於等於80,小於等於89,則b+1b,然後轉到s10
s6:若大於等於70,小於等於79,則c+1c,然後轉到s9
s7:若大於等於60,小於等於69,則d+1d,然後轉到s9
s8:若小於60,則e+1e,然後轉到s9
s9:i+1i
s10:當i≤n時,轉s5繼續執行,否則輸出a、b、c、d、e。
《C語言課程設計》設計報告
指導教師 張娜 課程名稱 c語言程式設計 班級 0124071 姓名 王者無疆 學號 0070082011 河南城建學院 土木與材料工程系 2011年1月 目錄一 課程設計目的 二 課程設計要求 1.分析課程設計題目的要求 2.寫出詳細設計說明 3.編寫程式 除錯程式使其能正確執行 4.設計完成的軟...
C語言課程設計報告
課程名稱計算機高階語言課程設計 c 教師姓名 本科生姓名 本科生學號 本科生專業機械設計製造及其自動化 所在院系機電學院 類別c.本科生 日期2013.7.11 注 1 無評閱人簽名成績無效 2 必須用鋼筆或原子筆批閱,用鉛筆閱卷無效 3 如有平時成績,必須在上面評分表中標出,並計算入總成績。模擬手...
C語言課程設計報告
1.本頁為設計報告要求頁,製作好報告後輸出時將本頁刪除 2.本模板的各種字型及頁面設定請同學們 3.本設計報告左側裝訂。在虛線處裝訂。4.在課程設計封皮一頁上用已經設定好的宋體四號來填寫各個專案。5.在課程設計評定表一頁上用宋體小四填寫班級 學號 姓名 專案組 專案組長 專案組組員 本人工作簡介。組...