noip第7课作业

时间:2023-03-10 01:43:09
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=, max=-, score, sum=;
for(int i=;i<;i++){
cin >> score;
//求和已经有了
sum += score;
if(min > score){
min = score;
}
if(max < score){
max = score;
}
}
double avg = (sum-min-max)/;
cout << fixed << setprecision() << avg << endl;
return ;
}

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=;i<;i++){
a = i/;
b = i%/;
c = i%;
if(a*a*a+b*b*b+c*c*c==i){
cout << i << " ";
}
}
return ;
}

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=;i<n;i++){
cin >> m;
sum += m;
}
cout << fixed << setprecision() << sum/n << endl;
return ;
}

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=;
cin >> m >> n;
for(int i=m;i<=n;i++){
if(i%==){
cout << i << " ";
k++;
}
}
if(k==){
cout << << endl;
}
return ;
}

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 = ;
cin >> m >> n;
for(int i=m;i<=n;i++){
if(i%==){
sum += i;
}
}
cout << sum << endl;
return ;
}