龍崗網(wǎng)站制作公司一般多少錢百度官方網(wǎng)站登錄
大家好,我是小卡皮巴拉??
文章目錄
目錄
??皖}目:?BC120?爭(zhēng)奪前五名
題目描述
輸入描述:
輸出描述:
示例1
示例2
解題思路:?
具體思路:
題目要點(diǎn):
完整代碼:?
兄弟們共勉 !!!?
每篇前言
博客主頁(yè):小卡皮巴拉
咱的口號(hào):🌹小比特,大夢(mèng)想🌹
作者請(qǐng)求:由于博主水平有限,難免會(huì)有錯(cuò)誤和不準(zhǔn)之處,我也非??释肋@些錯(cuò)誤,懇請(qǐng)大佬們批評(píng)斧正。?
??皖}目:?BC120?爭(zhēng)奪前五名
原題鏈接:BC120 爭(zhēng)奪前五名
題目描述
期中考試開始了,大家都想取得好成績(jī),爭(zhēng)奪前五名。從鍵盤輸入 n 個(gè)學(xué)生成績(jī),輸出每組排在前五高的成績(jī)。
數(shù)據(jù)范圍:?5≤n≤50?5≤n≤50??,成績(jī)采取百分制并不會(huì)出現(xiàn)負(fù)數(shù)
輸入描述:
兩行,第一行輸入一個(gè)整數(shù),表示n個(gè)學(xué)生(>=5),第二行輸入n個(gè)學(xué)生成績(jī)(整數(shù)表示,范圍0~100),用空格分隔。
輸出描述:
一行,輸出成績(jī)最高的前五個(gè),用空格分隔。
示例1
輸入:
6 99 45 78 67 72 88輸出:
99 88 78 72 67示例2
輸入:
5 10 20 30 40 50輸出:
50 40 30 20 10
解題思路:?
通過(guò)閱讀題目,我們發(fā)現(xiàn)本題目求解需要3步:
1.輸入數(shù)字n表示要輸入n個(gè)成績(jī),并在第二行輸入n個(gè)成績(jī)。
2.將成績(jī)按照降序排序
3.打印輸出前5個(gè)成績(jī)
具體思路:
- 輸入學(xué)生個(gè)數(shù)n
- 輸入n個(gè)學(xué)生的成績(jī)
- 寫一個(gè)函數(shù)用于實(shí)現(xiàn)冒泡排序
- 寫一個(gè)函數(shù)用于打印輸出前5名學(xué)生的成績(jī)
題目要點(diǎn):
本題的要點(diǎn)在于實(shí)現(xiàn)冒泡排序,冒泡排序的實(shí)現(xiàn)有以下要點(diǎn):
arr[]
?是要排序的數(shù)組。n
?是數(shù)組的大小。- 外層循環(huán)控制排序的輪數(shù),總共需要?
n-1
?輪。- 內(nèi)層循環(huán)在每輪中進(jìn)行相鄰元素的比較和交換,總共需要?
n-i-1
?次比較,因?yàn)槊枯喤判蚝?#xff0c;最大的元素會(huì)“冒泡”到數(shù)組的末尾。
完整代碼:?
//冒泡排序 void BubbleSort(int* arr,int n) {int i,j,tmp;for(i=0;i<n-1;i++){for(j=0;j<n-i-1;j++){if(arr[j]<arr[j+1]){tmp = arr[j];arr[j] = arr[j+1];arr[j+1] = tmp;}}} } //打印函數(shù) void PrintArray(int* arr,int size) {for(int i=0;i<size;i++){printf("%d ",arr[i]);} } int main() {//輸入n個(gè)學(xué)生int n = 0;scanf("%d",&n);//輸入n個(gè)學(xué)生成績(jī)int arr[n];for(int i=0;i<n;i++){scanf("%d",&arr[i]);}//排序BubbleSort(arr,n);//打印PrintArray(arr,5);return 0; }
兄弟們共勉 !!!?
碼字不易,求個(gè)三連
抱拳了兄弟們!