NOI网址:http://noi.openjudge.cn/

目录

01:求平均年龄

02:财务管理

03:均值

04:求整数的和与均值

05:最高的分数

06:整数序列的元素最大跨度值

07:奥运奖牌计数

08:多边形内角和

09:奇数求和

10:满足条件的数累加

11:整数的个数

12:与指定数字相同的数的个数

13:乘方计算

14:人口增长问题

15:银行利息

16:买房子

17:菲波那契数列

18:鸡尾酒疗法

19:救援

20:球弹跳高度的计算


01:求平均年龄

总时间限制: 1000ms        内存限制: 65536kB

描述

班上有学生若干名,给出每名学生的年龄(整数),求班上所有学生的平均年龄,保留到小数点后两位。

输入

第一行有一个整数n(1<= n <= 100),表示学生的人数。其后n行每行有1个整数,表示每个学生的年龄,取值为15到25。

输出

输出一行,该行包含一个浮点数,为要求的平均年龄,保留到小数点后两位。

样例输入

2
18
17

样例输出

17.50
#include <stdio.h>
using namespace std;
int main ()
{int n,a,i;float sum=0;scanf("%d",&n);for(i=1;i<=n;i++){scanf("%d",&a);sum+=a;}printf("%.2f",sum/n);return 0;
}

02:财务管理

总时间限制: 1000ms        内存限制: 65536kB

描述

Larry今年毕业并找到了一份工作。他赚很多钱,但似乎总是不够。Larry认为他需要控制他的投资以解决自己的财务问题。Larry拿到了自己的银行账户详单,想看看自己有多少钱。请帮助Larry写一个程序,通过过去12个月中每月的月末结余,计算平均结余。

输入

输入包含12行,每行包含一个数,为某个月的结余。每个数都是不大于1,000,000的正数,保留两位小数,省略"$"符。

输出

输出一个数,为这12个月的平均月末结余,保留到小数点后第二位,并在最前面加一个"$"符。

样例输入

100.00
489.12
12454.12
1234.10
823.05
109.20
5.27
1542.25
839.18
83.99
1295.01
1.75

样例输出

$1581.42
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{float a[12],sum=0;int i;for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){sum+=a[i];}printf("$%.2lf",sum/12);return 0;
}

03:均值

总时间限制: 1000ms        内存限制: 65536kB

描述

给出一组样本数据,计算其均值。

输入

输入有两行,第一行包含一个整数n(n小于100),代表样本容量;第二行包含n个绝对值不超过1000的浮点数,代表各个样本数据。

输出

输出一行,包含一个浮点数,表示均值,精确到小数点后4位。

样例输入

2
1.0 3.0

样例输出

2.0000
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{int n,i;double a[100],j=0;cin>>n;for(i=1;i<=n;i++){cin>>a[i];j+=a[i];}printf("%.4lf",j/n);return 0;
}

04:求整数的和与均值

总时间限制: 1000ms        内存限制: 65536kB

描述

读入n(1 <= n <= 10000)个整数,求它们的和与均值。

输入

输入第一行是一个整数n,表示有n个整数。
第2~n+1行每行包含1个整数。每个整数的绝对值均不超过10000。

输出

输出一行,先输出和,再输出平均值(保留到小数点后5位),两个数间用单个空格分隔。

样例输入

4
344
222
343
222

样例输出

1131 282.75000
#include <stdio.h>
using namespace std;
int main()
{int n,i,s[10000];long sum=0;scanf("%d",&n);for(i=0;i<n;i++){scanf("%d",&s[i]);sum+=s[i];} printf("%d %.5lf",sum,(double)sum/n);return 0;
}

05:最高的分数

总时间限制: 1000ms         内存限制: 65536kB

描述

孙老师讲授的《计算概论》这门课期中考试刚刚结束,他想知道考试中取得的最高分数。因为人数比较多,他觉得这件事情交给计算机来做比较方便。你能帮孙老师解决这个问题吗?

输入

输入两行,第一行为整数n(1 <= n < 100),表示参加这次考试的人数.第二行是这n个学生的成绩,相邻两个数之间用单个空格隔开。所有成绩均为0到100之间的整数。

输出

输出一个整数,即最高的成绩。

样例输入

5
85 78 90 99 60

样例输出

99
#include <iostream>
using namespace std;
int main()
{int n,i,j,t;int a[105];cin>>n;for(i=0;i<n;i++)cin>>a[i];for(j=0;j<n;j++){for(i=0;i<j;i++){if(a[i+1]<a[i]){t=a[i+1];a[i+1]=a[i];a[i]=t;                    //交换次序}}}cout<<a[n-1];return 0;
}

06:整数序列的元素最大跨度值

总时间限制: 1000ms        内存限制: 65536kB

描述

给定一个长度为n的非负整数序列,请计算序列的最大跨度值(最大跨度值 = 最大值减去最小值)。

输入

一共2行,第一行为序列的个数n(1 <= n <= 1000),第二行为序列的n个不超过1000的非负整数,整数之间以一个空格分隔。

输出

输出一行,表示序列的最大跨度值。

样例输入

6
3 0 8 7 5 9

样例输出

9
#include <iostream>
using namespace std;
int main()
{int n,i,j,t;int a[1005];cin>>n;for(i=0;i<n;i++)cin>>a[i];for(j=0;j<n-1;j++){for(i=0;i<n-j-1;i++){if(a[i+1]<a[i]){t=a[i+1];a[i+1]=a[i];a[i]=t;                    //交换次序}}}cout<<a[n-1]-a[0];return 0;
}

07:奥运奖牌计数

总时间限制: 1000ms        内存限制: 65536kB

描述

2008年北京奥运会,A国的运动员参与了n天的决赛项目(1≤n≤17)。现在要统计一下A国所获得的金、银、铜牌数目及总奖牌数。

输入

输入n+1行,第1行是A国参与决赛项目的天数n,其后n行,每一行是该国某一天获得的金、银、铜牌数目,以一个空格分开。

输出

输出1行,包括4个整数,为A国所获得的金、银、铜牌总数及总奖牌数,以一个空格分开。

样例输入

3
1 0 3
3 1 0
0 3 0

样例输出

4 4 3 11
#include <iostream>
using namespace std;
int main()
{int n,i,x=0,y=0,z=0;int a[20],b[20],c[20];cin>>n;for(i=0;i<n;i++)cin>>a[i]>>b[i]>>c[i];for(i=0;i<n;i++){x+=a[i];y+=b[i];z+=c[i];                    //对应相加即可}cout<<x<<" "<<y<<" "<<z<<" "<<x+y+z;return 0;
}

08:多边形内角和

总时间限制: 1000ms        内存限制: 65536kB

描述

在欧几里德几何中,n边形的内角和是(n-2)*180°。已知其中(n-1)个内角的度数,就能计算出剩下的一个未知内角的度数。请编写一个程序,来解决这个问题。

输入

第1行只有一个整数n(2第2行有(n-1)个正整数,是每个已知内角的度数。相邻两个整数之间用单个空格隔开。
数据保证给定多边形合法。

输出

一个正整数,为未知内角的度数。

样例输入

3
45 60

样例输出

75
#include <iostream>
using namespace std;
int main()
{int n,a,i,s=0;cin>>n;for(i=1;i<n;i++){cin>>a;s+=a;}cout<<(n-2)*180-s;return 0;
}

09:奇数求和

总时间限制: 1000ms         内存限制: 65536kB

描述

计算非负整数 m 到 n(包括m 和 n )之间的所有奇数的和,其中,m 不大于 n,且n 不大于300。例如 m=3, n=12, 其和则为:3+5+7+9+11=35。

输入

两个数 m 和 n,两个数以一个空格分开,其中 0 <= m <= n <= 300 。

输出

输出一行,包含一个整数,表示m 到 n(包括m 和 n )之间的所有奇数的和

样例输入

7 15

样例输出

55
#include <iostream>
using namespace std;
int main()
{int m,n,i,sum=0;cin>>m>>n;for(i=m;i<=n;i++){if(i%2==1){sum+=i;                //如果为奇数,则相加}}cout<<sum;return 0;
}

10:满足条件的数累加

总时间限制: 1000ms         内存限制: 65536kB

描述

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

输入

一行,包含两个整数m和n,其间,以一个空格间隔。

输出

输出一行,包行一个整数,表示累加的结果。

样例输入

50 85

样例输出

204
#include <iostream>
using namespace std;
int main()
{int m,n,i,sum=0;cin>>m>>n;for(i=m;i<=n;i++){if(i%17==0)                //找到能被17整除的数{sum+=i;                //相加}    }cout<<sum;return 0;
}

11:整数的个数

总时间限制: 1000ms        内存限制: 65536kB

描述

给定k(1< k < 100)个正整数,其中每个数都是大于等于1,小于等于10的数。写程序计算给定的k个正整数中,1,5和10出现的次数。

输入

输入有两行:第一行包含一个正整数k,第二行包含k个正整数,每两个正整数用一个空格分开。

输出

输出有三行,第一行为1出现的次数,,第二行为5出现的次数,第三行为10出现的次数。

样例输入

5
1 5 8 10 5

样例输出

1
2
1
#include <iostream>
using namespace std;
int main()
{int k,i,j,x=0,y=0,z=0;int a[105];cin>>k;for(i=0;i<k;i++)cin>>a[i];for(i=0;i<k;i++){if(a[i]==1)x++;if(a[i]==5)y++;if(a[i]==10)z++;}cout<<x<<endl;cout<<y<<endl;cout<<z<<endl;return 0;
}

12:与指定数字相同的数的个数

总时间限制: 1000ms        内存限制: 65536kB

描述

输出一个整数序列中与指定数字相同的数的个数。

输入

输入包含2行:
第1行为N和m,表示整数序列的长度(N <= 100)和指定的数字, 中间用一个空格分开;
第2行为N个整数,整数之间以一个空格分开。

输出

输出为N个数中与m相同的数的个数。

样例输入

3 2
2 3 2

样例输出

2
#include <iostream>
using namespace std;
int main()
{int n,m,i,sum=0;int a[105];cin>>n>>m;for(i=0;i<n;i++)cin>>a[i];for(i=0;i<n;i++)if(a[i]==m)sum++;cout<<sum;return 0;
}

13:乘方计算

总时间限制: 1000ms        内存限制: 65536kB

描述

给出一个整数a和一个正整数n,求乘方an。

输入

一行,包含两个整数a和n。-1000000 <= a <= 1000000,1 <= n <= 10000。

输出

一个整数,即乘方结果。题目保证最终结果的绝对值不超过1000000。

样例输入

2 3

样例输出

8
#include <iostream>
using namespace std;
int main ()
{int a,i,n,s=1;cin>>a>>n;for(i=1;i<=n;i++)s=s*a;cout<<s;return 0;
}

14:人口增长问题

总时间限制: 1000ms        内存限制: 65536kB

描述

我国现有x亿人口,按照每年0.1%的增长速度,n年后将有多少人?

输入

一行,包含两个整数x和n,分别是人口基数和年数,以单个空格分隔。

输出

输出最后的人口数,以亿为单位,保留到小数点后四位。1 <= x <= 100, 1 <= n <= 100。

样例输入

13 10

样例输出

13.1306
#include <iostream>
using namespace std;
int main()
{int n,i;double x;int a[105];cin>>x>>n;for(i=0;i<n;i++)x*=(1+0.001);printf("%.4lf",x);return 0;
}

15:银行利息

总时间限制: 1000ms        内存限制: 65536kB

描述

农夫约翰在去年赚了一大笔钱!他想要把这些钱用于投资,并对自己能得到多少收益感到好奇。已知投资的复合年利率为R(0到20之间的整数)。约翰现有总值为M的钱(100到1,000,000之间的整数)。他清楚地知道自己要投资Y年(范围0到400)。请帮助他计算最终他会有多少钱,并输出它的整数部分。数据保证输出结果在32位有符号整数范围内。

输入

一行包含三个整数R,M,Y,相邻两个整数之间用单个空格隔开。

输出

一个整数,即约翰最终拥有多少钱(整数部分)。

样例输入

5 5000 4

样例输出

6077

提示

在样例中,
第一年后: 1.05 * 5000 = 5250
第二年后: 1.05 * 5250 = 5512.5
第三年后: 1.05 * 5512.50 = 5788.125
第四年后: 1.05 * 5788.125 = 6077.53125
6077.53125的整数部分为6077。

#include <iostream>
using namespace std;
int main()
{int r,y,i;double s,m;cin>>r>>m>>y;for(i=0;i<y;i++)m*=(1+0.01*r);cout<<(int)m;                //把m强制转换成int类型return 0;
}

16:买房子

总时间限制: 1000ms        内存限制: 65536kB

描述

某程序员开始工作,年薪N万,他希望在中关村公馆买一套60平米的房子,现在价格是200万,假设房子价格以每年百分之K增长,并且该程序员未来年薪不变,且不吃不喝,不用交税,每年所得N万全都积攒起来,问第几年能够买下这套房子?(第一年年薪N万,房价200万)

输入

一行,包含两个正整数N(10 <= N <= 50), K(1 <= K <= 20),中间用单个空格隔开。

输出

如果在第20年或者之前就能买下这套房子,则输出一个整数M,表示最早需要在第M年能买下,否则输出Impossible。

样例输入

50 10

样例输出

8
#include <stdio.h>
using namespace std;
int main()
{double n,k,m,s=200,a=0;        //n为年薪,k为增长率,m为买下房子的时间,a为第几年后的年薪和scanf("%lf %lf",&n,&k);for(m=1;m<=20;m++){a=a+n;                        //年薪相加if(a>=s)                    //年薪和大于房价{printf("%g",m);return 0;}s=s*(k/100+1);                //增长后的房价}printf("Impossible");return 0;
}

17:菲波那契数列

总时间限制: 1000ms         内存限制: 65536kB

描述

菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。
给出一个正整数k,要求菲波那契数列中第k个数是多少。

输入

输入一行,包含一个正整数k。(1 <= k <= 46)

输出

输出一行,包含一个正整数,表示菲波那契数列中第k个数的大小

样例输入

19

样例输出

4181
#include <iostream>
using namespace std;
int main()
{int k,i,sum=0;int a[50];cin>>k;a[0]=1;a[1]=1;for(i=2;i<=k;i++)            //起始时i=2而不是i=0,因为当i=0时,a[i-2]不成立a[i]=a[i-1]+a[i-2];        cout<<a[k-1];return 0;
}

18:鸡尾酒疗法

总时间限制: 1000ms        内存限制: 65536kB

描述

鸡尾酒疗法,原指“高效抗逆转录病毒治疗”(HAART),由美籍华裔科学家何大一于1996年提出,是通过三种或三种以上的抗病毒药物联合使用来治疗艾 滋病。该疗法的应用可以减少单一用药产生的抗药性,最大限度地抑制病毒的复制,使被破坏的机体免疫功能部分甚至全部恢复,从而延缓病程进展,延长患者生 命,提高生活质量。人们在鸡尾酒疗法的基础上又提出了很多种改进的疗法。为了验证这些治疗方法是否在疗效上比鸡尾酒疗法更好,可用通过临床对照实验的方式 进行。假设鸡尾酒疗法的有效率为x,新疗法的有效率为y,如果y-x大于5%,则效果更好,如果x-y大于5%,则效果更差,否则称为效果差不多。下面给 出n组临床对照实验,其中第一组采用鸡尾酒疗法,其他n-1组为各种不同的改进疗法。请写程序判定各种改进疗法效果如何。

输入

第一行为整数n( 1 < n <= 20);
其余n行每行两个整数,第一个整数是临床实验的总病例数(小于等于10000),第二个疗效有效的病例数。
这n行数据中,第一行为鸡尾酒疗法的数据,其余各行为各种改进疗法的数据。

输出

有n-1行输出,分别表示对应改进疗法的效果:
如果效果更好,输出better;如果效果更差,输出worse;否则输出same

样例输入

5
125 99
112 89
145 99
99 97
123 98

样例输出

same
worse
better
same
#include <iostream>
using namespace std;
int main()
{int n,i;double x,y;double a[25],b[25];cin>>n;for(i=0;i<n;i++)cin>>a[i]>>b[i];x=b[0]/a[0];for(i=1;i<n;i++){y=b[i]/a[i];if((y-x)>0.05)cout<<"better"<<endl;else if((x-y)>0.05)cout<<"worse"<<endl;elsecout<<"same"<<endl;}return 0;
}

19:救援

总时间限制: 1000ms        内存限制: 65536kB

描述

救生船从大本营出发,营救若干屋顶上的人回到大本营,屋顶数目以及每个屋顶的坐标 
和人数都将由输入决定,求出所有人都到达大本营并登陆所用的时间。

在直角坐标系的原点是大本营,救生船每次从大本营出发,救了人之后将人送回大本营。坐标系中的点代表屋顶,每个屋顶由其位置坐标和其上的人数表 示。救生船每次从大本营出发,以速度50 米/分钟驶向下一个屋顶,达到一个屋顶后,救下其上的所有人,每人上船1 分钟,船原路返回,达到大本营,每人下船0.5 分钟。假设原点与任意一个屋顶的连线不穿过其它屋顶。

输入

第一行,一个整数,表示屋顶数n。
接下来依次有n 行输入,每一行上包含两个表示屋顶相对于大本营的平面坐标位置的实数(单位是米)、一个表示人数的整数,数之间以一个空格分
开。

输出

一行,救援需要的总时间,精确到分钟 (向上取整)。

样例输入

1
30 40 3

样例输出

7
#include <iostream>
#include <cmath>
using namespace std;
int main()
{int n,people;double x,y,d,time=0;cin>>n;for(int i=0;i<n;i++){cin>>x>>y>>people;d=sqrt(x*x+y*y)*2; time+=1.5*people+d/50;}cout<<ceil(time)<<endl;        //ceil向上取整,取大于或等于它本身的整数,需包含<cmath>return 0;
}

20:球弹跳高度的计算

总时间限制: 1000ms         内存限制: 65536kB

描述

一球从某一高度落下(整数,单位米),每次落地后反跳回原来高度的一半,再落下。
编程计算气球在第10次落地时,共经过多少米? 第10次反弹多高?

输入

输入一个整数h,表示球的初始高度。

输出

输出包含两行:
第1行:到球第10次落地时,一共经过的米数。
第2行:第10次弹跳的高度。

注意:结果可能是实数,结果用double类型保存。
提示:输出时不需要对精度特殊控制,用cout << ANSWER,或者printf("%g", ANSWER)即可。

样例输入

20

样例输出

59.9219
0.0195313
#include <iostream>
using namespace std;
int main()
{double h,s=0;cin>>h;for(int i=0;i<10;i++){s+=1.5*h;h/=2;}s-=h;cout<<s<<endl;cout<<h<<endl;return 0;
}//h的结果为0.0195312,原题给的示例为0.0195313,我想可能给错了,用这个代码也是一样可以通过的

以上即为NOI 1.5部分的1—20题题目,欢迎指正!

NOI题库答案(1.5 编程基础之循环控制)(1—20题)相关推荐

  1. OpenJudge NOI 1.5 编程基础之循环控制(21-30题)C++ 解题思路

    续上一篇文章OpenJudge NOI 1.5编程基础之循环控制(11-20题) C++ 解题思路_Leleprogrammer的博客-CSDN博客续上一篇文章.https://blog.csdn.n ...

  2. OpenJudge NOI 1.5编程基础之循环控制(31-40题)C++ 解题思路

    续上一篇文章.OpenJudge NOI 1.5 编程基础之循环控制(21-30题)C++ 解题思路_Leleprogrammer的博客-CSDN博客续上一篇文章OpenJudge NOI 1.5编程 ...

  3. python编程基础题库_大学moocPython编程基础题库及答案

    参考答案如下 大学间接赞扬的方式可能受到意想不到的效果.() 编程郑玄对"一人贪戾"的"戾"的解释为(),形容在欲望的追寻中出现的人与人的矛盾状态. 郑谷有&l ...

  4. python编程狮题库答案_‎Python编程狮-零基础学Python dans l’App Store

    Python编程狮是W3Cschool编程狮旗下专门为零基础Python编程爱好者打造的一款入门工具App,致力于帮助初学者入门,轻松迈入编程世界.学Python,从这里开始! [零基础也能学]初学者 ...

  5. noi题库(noi.openjudge.cn) 1.5编程基础之循环控制T36——T45

    T36 计算多项式的值 描述 假定多项式的形式为xn+xn-1+-+x2+x+1,请计算给定单精度浮点数x和正整数n值的情况下这个多项式的值. 输入 输入仅一行,包括x和n,用单个空格隔开.x在flo ...

  6. 计算机网络工程师题库华为,近五年华为各类工程师面试精典题库及答案详解.pdf...

    近五年华为各类工程师面试精典题库及答案详解 近五年华为各类工程师面试精典题 近五年华为各类工程师面试精典题 近近五五年年华华为为各各类类工工程程师师面面试试精精典典题题 库及答案详解 库及答案详解 库 ...

  7. OpenJudge NOI题库 1.5编程基础之循环控制

    OpenJudge NOI题库 1.5编程基础之循环控制 OpenJudge - OpenJudge - 题目 1.5_01求平均年龄 1.5_01求平均年龄_哔哩哔哩_bilibili 1.5_02 ...

  8. 二级c语言编程题只要得出答案,计算机二级C语言考试编程题题库答案.docx

    计算机二级C语言考试编程题题库答案 1.求100之内自然数中最大的能被17整除的数.void main(){ int i;for(i=100;i>0;i--)if(i%17==0)break;p ...

  9. c语言机考答案,c语言题库答案机考

    <c语言题库答案机考>由会员分享,可在线阅读,更多相关<c语言题库答案机考(286页珍藏版)>请在人人文库网上搜索. 1.题目标题:1,A-B(彭玉旭)题目描述:计算A-B的值 ...

  10. 在手机上如何模拟计算机考试,2018年计算机一级考试精选模拟题库/手机版:计算机基础及MS Office应用...

    &nbsp&nbsp[导读]: 2018年计算机一级考试精选模拟题库/手机版:计算机基础及MS Office应用,更多全国计算机等级考试模拟试题.复习教材和培训网课,请访问易考吧计算机 ...

最新文章

  1. 空域滤波算法对比分析(超级全面哒)——Python代码
  2. 防止SQL注入解决方案
  3. python 贴吧自动回复机-Python实现微信自动回复机器人详细教程
  4. 瑞典皇家理工学院工程实例:Sound localization
  5. 基于认证的代理平台搭建配置squid-20130730
  6. ubuntu12.04配置双显示器
  7. Drupal 关于节点(nodes)的理解
  8. .net 常见异常及其翻译
  9. Tcpdump抓包实操
  10. 2018年高教社杯A题 高温作业专用服装设计
  11. 浏览器辅助神器:油猴脚本使用教程
  12. window.opener 与 window.dialogArguments的用法
  13. Oracle 12C 最新 PSU 补丁下载与安装操作指北
  14. vue 滑动置顶功能_CSS3 移动端 滚动置顶 吸顶
  15. Android studio Android源码开发环境搭建
  16. 西安工大计算机学院李颖,李颖 -西安交通大学人文社会科学学院
  17. 抖音内容运营全解剖,看这一篇就够了 !
  18. Android10+无法获取IMEI、IOS10+关闭广告跟踪IDFA解决方法
  19. TFN光时域反射仪,维修、安装网络的第一步!
  20. 代理模式——游戏代练

热门文章

  1. macos使用ffpmeg批量mp4转mp3
  2. Windows驱动(加载驱动)
  3. RNA-seq数据下载
  4. C语言从键盘获取一个小于1000的正数,要求输出它的平方根。
  5. Unity2D 敌人追踪/攻击/移动AI 第二期
  6. JSTL中taglib uri=prefix=的使用
  7. 哪些产品需要CPC认证?常见需要CPC认证的产品及标准CPSC认可实验室CPSIA
  8. 如何用 Dall-E2 制作这些超可爱的柔软毛绒玩具
  9. 获取当前时间时间戳的几种方式
  10. react 添加css_在JS中使用情感CSS将暗模式添加到您的React应用中