C語言設計報告

2022-09-30 17:42:02 字數 2973 閱讀 3506

設計報告

課程名稱 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.在課程設計評定表一頁上用宋體小四填寫班級 學號 姓名 專案組 專案組長 專案組組員 本人工作簡介。組...