PAT乙级 1038 统计同成绩学生 C++)
生活随笔
收集整理的這篇文章主要介紹了
PAT乙级 1038 统计同成绩学生 C++)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目
本題要求讀入 N 名學(xué)生的成績(jī),將獲得某一給定分?jǐn)?shù)的學(xué)生人數(shù)輸出。
輸入格式:
輸入在第 1 行給出不超過 10?5的正整數(shù) N,即學(xué)生總?cè)藬?shù)。隨后一行給出 N 名學(xué)生的百分制整數(shù)成績(jī),中間以空格分隔。最后一行給出要查詢的分?jǐn)?shù)個(gè)數(shù) K(不超過 N 的正整數(shù)),隨后是 K 個(gè)分?jǐn)?shù),中間以空格分隔。
輸出格式:
在一行中按查詢順序給出得分等于指定分?jǐn)?shù)的學(xué)生人數(shù),中間以空格分隔,但行末不得有多余空格。
輸入樣例:
10 60 75 90 55 75 99 82 90 75 50 3 75 90 88輸出樣例:
3 2 0分析
- 方案1:用數(shù)組存下N個(gè)數(shù),然后兩重循環(huán)找到每個(gè)分?jǐn)?shù)對(duì)應(yīng)的個(gè)數(shù),并輸出。(會(huì)有一個(gè)測(cè)試點(diǎn)超時(shí))
- 方案2:成績(jī)有效范圍是0~100,所以可以聲明一個(gè)全局?jǐn)?shù)組b[101]來存儲(chǔ)不同得分的學(xué)生個(gè)數(shù)。同時(shí),不用數(shù)組來存N個(gè)學(xué)生的成績(jī),只用一個(gè)變量a來存成績(jī),每次讀入的時(shí)候,b[a]++。最后,輸出b數(shù)組中與給定分?jǐn)?shù)相等的學(xué)生人數(shù)。
- 經(jīng)過測(cè)試,cout/cin比scanf/printf的運(yùn)行時(shí)間多了150ms左右,以后盡量多用scanf/printf。
AC代碼
#include<cstdio> using namespace std; int b[101]; int main() {int i,a,N,key,K;scanf("%d",&N);//cin>>N;for(i=0;i<N;i++){scanf("%d",&a);//cin>>a;b[a]++;}scanf("%d",&K);//cin>>K;for(i=0;i<K;i++){scanf("%d",&key);printf("%d",b[key]); //cout<<b[key];if(i!=K-1)printf(" ");//cout<<" ";}return 0; }更多題解
pat 乙級(jí)(Basic Level) 題解匯總(持續(xù)更新)(C++)
總結(jié)
以上是生活随笔為你收集整理的PAT乙级 1038 统计同成绩学生 C++)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果 iPhone 14 系列机型如何关
- 下一篇: 苹果 AirPods 免费镌刻服务新增支