演算法提高 分數統計

2021-08-24 23:36:54 字數 1604 閱讀 5357

/*問題描述

2016.4.5已更新此題,此前的程式需要重新提交。

問題描述

給定乙個百分制成績t,將其劃分為如下五個等級之一:

90~100為a,80~89為b,70~79為c,60~69為d,0~59為e

現在給定乙個檔案inp,檔案中包含若干百分制成績(成績個數不超過100),請你統計五個等級段的人數,並找出人數最多的那個等級段,按照從大到小的順序輸出該段中所有人成績(保證人數最多的等級只有乙個)。要求輸出到指定檔案oup中。

輸入格式

若干0~100的正整數,用空格隔開

輸出格式

第一行為5個正整數,分別表示a,b,c,d,e五個等級段的人數

第二行乙個正整數,表示人數最多的等級段中人數

接下來一行若干個用空格隔開的正整數,表示人數最多的那個等級中所有人的分數,按從大到小的順序輸出。

樣例輸入

10100 100 85 77 55 61 82 90 71 60

樣例輸出

2 3 2 2 1

385 82 80

#includevoid shuru( int , int  , int );

void shuchu( int , int , int );

void cunru( int , int , int , int , int * );

int q_tou( int );

int q_wei( int );

void paixu( int , int );

void huan( int * , int * );

void sc_sz( int , int );

int main( void )

; shuru( n , sz , gs );

shuchu( n , sz , gs);

return 0 ;

}void sc_sz( int sz , int n)

}void huan( int * a, int * b)

void paixu( int sz , int n)

} }}int q_wei( int n ) }

int q_tou( int n ) }

void shuchu( int n , int sz , int gs )

} printf("\n%d\n" , tmp ) ;

int cf[10000] , ws = 0 ;

cunru( cf , sz , n , xb , &ws );

paixu( cf , ws );

sc_sz( cf , ws);

}void cunru( int cf , int sz , int n , int xb , int * p_ws ) }}

void shuru( int n , int sz , int gs)

if( sz[i] >= 60 && sz[i] < 70)

if( sz[i] >= 70 && sz[i] < 80)

if( sz[i] >= 80 && sz[i] < 90)

if( sz[i] >= 90 && sz[i] <= 100)

}}

演算法提高 分數統計

題目 輸入格式 若干0 100的正整數,用空格隔開?輸入有點坑,題目意思是輸入直到eof結束,結果測試檔案多了乙個輸入的成績總數。include include include using namespace std int main else if m 80 else if m 70 else i...

演算法提高 分蘋果 差分陣列

題目鏈結 問題描述 小朋友排成一排,老師給他們分蘋果。小朋友從左到右標號1.n。有m個老師,每次第i個老師會給第li個到第ri個,一共ri li 1個小朋友每人發ci個蘋果。最後老師想知道每個小朋友有多少蘋果。如果每次修改都修改從l到r的值的話,一定會tle。使用差分陣列。差分陣列 差分數列 對於乙...

演算法提高 分蘋果

問題描述 小朋友排成一排,老師給他們分蘋果。小朋友從左到右標號1.n。有m個老師,每次第i個老師會給第li個到第ri個,一共ri li 1個小朋友每人發ci個蘋果。最後老師想知道每個小朋友有多少蘋果。輸入格式 第一行兩個整數n m,表示小朋友個數和老師個數。接下來m行,每行三個整數li ri ci,...