noip第7課作業


1.    求平均值

【問題描述】

在一次運動會方隊表演中,學校安排了十名老師進行打分。對於給定的每個參賽班級的不同打分(百分制整數),按照去掉一個最高分、去掉一個最低分,再算出平均分的方法,得到改班級的最后得分。

【樣例輸入】

90 89 92 90 93 95 88 90 89 88

【樣例輸出】

90.125

#include <iostream>
#include <iomanip> 
using namespace std;
int main(){
    //min:最小值  max:最大值  score:每次輸入的分數 sum:總分 
    double min=1001, max=-1, score, sum=0;
    for(int i=0;i<10;i++){
        cin >> score;
        //求和已經有了 
        sum += score;
        if(min > score){
            min = score;
        }
        if(max < score){
            max = score;
        } 
    }
    double avg = (sum-min-max)/8; 
    cout << fixed << setprecision(3) << avg << endl; 
    return 0;
}

2.    打印水仙花數

【問題描述】

編程求出所有的水仙花數。水仙花數是一類特殊的三位數,它們每一個數位上的數字的立方和恰好等於這個三位數本身。

例如: 153 = 1*1*1 +5*5*5 + 3*3*3。

【樣例輸出】

153 370 371 407

#include <iostream>
using namespace std;
int main(){
    int a, b, c;
    for(int i=100;i<1000;i++){
        a = i/100;
        b = i%100/10;
        c = i%10;
        if(a*a*a+b*b*b+c*c*c==i){
            cout << i << " ";
        }
    }
    return 0;
}

3.    求平均年齡

【問題描述】

班上有學生若干名,給出每名學生的年齡(整數),求班上所有學生的平均年齡,保留到小數點后兩位

輸入:第一行有一個整數n(1<= n <= 100),表示學生的人數。其后n行每行有1個整數,表示每個學生的年齡,取值為15到25。

輸出:輸出一行,該行包含一個浮點數,為要求的平均年齡,保留到小數點后兩位。

【樣例輸入】

2

18

17

【樣例輸出】

17.50

#include <iostream>
#include <iomanip>
using namespace std;
int main(){
    int n, m; 
    double sum=0.0;
    cin >> n;
    for(int i=0;i<n;i++){
        cin >> m;
        sum += m; 
    }
    cout << fixed << setprecision(2) << sum/n << endl;
    return 0;
}

4.    同時被3,5,7整除的數

【問題描述】

輸出m和n之間(包括m和n)所有能夠同時被3,5,7整除的數,其中0 <= m < n <= 1000。

輸入:一行,包含兩個整數m和n,其間以一個空格間隔;

輸出:如果0到n之間沒有能同時被3,5,7整除的數,輸出0;如果有就輸出這些數字。

【樣例輸入1】

0 100

【樣例輸出1】

0

【樣例輸入2】

100 300

【樣例輸出2】

105 210

#include <iostream>
using namespace std;
int main(){
    int m, n;
    int k=0;
    cin >> m >> n;
    for(int i=m;i<=n;i++){
        if(i%105==0){
            cout << i << " ";
            k++;
        }
    }
    if(k==0){
        cout << 0 << endl;
    }
    return 0;
}

5.    滿足條件的數累加

【問題描述】

將正整數 m 和 n 之間(包括 m 和 n)能被 17 整除的數累加。其中,0 < m < n < 1000。

輸入:一行,包含兩個整數m和n,其間,以一個空格間隔。

輸出:輸出一行,包行一個整數,表示累加的結果。

【樣例輸入】

50 85

【樣例輸出】

204

#include <iostream>
using namespace std;
int main(){
    int m, n, sum = 0;
    cin >> m >> n;
    for(int i=m;i<=n;i++){
        if(i%17==0){
            sum += i;
        }
    }
    cout << sum << endl;
    return 0;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM