01:求平均年龄

描述
班上有学生若干名,给出每名学生的年龄(整数),求班上所有学生的平均年龄,保留到小数点后两位。
输入
第一行有一个整数n(1<= n <= 100),表示学生的人数。其后n行每行有1个整数,表示每个学生的年龄,取值为15到25。
输出
输出一行,该行包含一个浮点数,为要求的平均年龄,保留到小数点后两位。
样例输入

2
18
17

样例输出

17.50

#include <cstdio>
#include <cmath>
using namespace std;
int main()
{int i,a,n;double c,d=0;scanf("%d",&n);for(i=1;i<=n;i++){scanf("%d",&a);d=d+a;}c=d/n;printf("%.2lf",c);return 0;
}

02:财务管理

描述
Larry今年毕业并找到了一份工作。他赚很多钱,但似乎总是不够。Larry认为他需要控制他的投资以解决自己的财务问题。Larry拿到了自己的银行账户详单,想看看自己有多少钱。请帮助Larry写一个程序,通过过去12个月中每月的月末结余,计算平均结余。
输入
输入包含12行,每行包含一个数,为某个月的结余。每个数都是不大于1,000,000的正数,保留两位小数,省略""符。输出输出一个数,为这12个月的平均月末结余,保留到小数点后第二位,并在最前面加一个""符。 输出 输出一个数,为这12个月的平均月末结余,保留到小数点后第二位,并在最前面加一个""符。输出输出一个数,为这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 <cstdio>
#include <cmath>
using namespace std;
int main()
{double a,b,c,d,e,f,g,h,i,j,k,l,n,m;scanf("%lf",&a);scanf("%lf",&b);scanf("%lf",&c);scanf("%lf",&d);scanf("%lf",&e);scanf("%lf",&f);scanf("%lf",&g);scanf("%lf",&h);scanf("%lf",&i);scanf("%lf",&j);scanf("%lf",&k);scanf("%lf",&l);n=(a+b+c+d+e+f+g+h+i+j+k+l);m=n/12;printf("$%.2lf",m);return 0;
}

03:均值

描述
给出一组样本数据,计算其均值。
输入
输入有两行,第一行包含一个整数n(n小于100),代表样本容量;第二行包含n个绝对值不超过1000的浮点数,代表各个样本数据。
输出
输出一行,包含一个浮点数,表示均值,精确到小数点后4位。
样例输入

2
1.0 3.0

样例输出

2.0000

#include <math.h>
#include <cstdio>
using namespace std;
int main()
{int n,i;double a,b,sum=0;scanf("%d",&n);for(i=1;i<=n;i++){   scanf("%lf",&a);sum=sum+a;} b=sum/n;   printf("%.4lf",b);return 0;
}

04:求整数的和与均值

描述
读入n(1 <= n <= 10000)个整数,求它们的和与均值。
输入
输入第一行是一个整数n,表示有n个整数。
第2~n+1行每行包含1个整数。每个整数的绝对值均不超过10000。
输出
输出一行,先输出和,再输出平均值(保留到小数点后5位),两个数间用单个空格分隔。
样例输入

4
344
222
343
222

样例输出

1131 282.75000

#include <cstdio>
#include <cmath>
using namespace std;
int main()
{   int i,n,a,b=0;double c;scanf("%d",&n);for(i=1;i<=n;i++){scanf("%d",&a);b=b+a;}c=b*1.0/n;printf("%d %.5lf",b,c);return 0;
}

05:最高的分数

描述
孙老师讲授的《计算概论》这门课期中考试刚刚结束,他想知道考试中取得的最高分数。因为人数比较多,他觉得这件事情交给计算机来做比较方便。你能帮孙老师解决这个问题吗?
输入
输入两行,第一行为整数n(1 <= n < 100),表示参加这次考试的人数.第二行是这n个学生的成绩,相邻两个数之间用单个空格隔开。所有成绩均为0到100之间的整数。
输出
输出一个整数,即最高的成绩。
样例输入

5
85 78 90 99 60

样例输出

99

#include <cstdio>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{int n,a,i,b=0;scanf("%d",&n);for(i=0;i<n;i++){scanf(" %d",&a);if(a>b)b=a;}printf("%d",b);return 0;
}

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

描述
给定一个长度为n的非负整数序列,请计算序列的最大跨度值(最大跨度值 = 最大值减去最小值)。
输入
一共2行,第一行为序列的个数n(1 <= n <= 1000),第二行为序列的n个不超过1000的非负整数,整数之间以一个空格分隔。
输出
输出一行,表示序列的最大跨度值。
样例输入

6
3 0 8 7 5 9

样例输出

9

#include<cstdio>
#include<cmath>
using namespace std;
int main()
{int n,i,a,b=1000,c=0,d;scanf("%d",&n);for(i=1;i<=n;i++) {   scanf("%d",&a);if(b>a)b=a;if(c<a)c=a;}d=c-b;printf("%d",d);return 0;
}

07:奥运奖牌计数

描述
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<cstdio>
#include<cmath>
using namespace std;
int main()
{int n,i,a,b,c,d=0,e=0,f=0;scanf("%d",&n);for(i=1;i<=n;i++){scanf("%d%d%d",&a,&b,&c);d=d+a;e=e+b; f=f+c;}printf("%d %d %d %d",d,e,f,d+e+f);return 0;
}

08:多边形内角和

描述
在欧几里德几何中,n边形的内角和是(n-2)*180°。已知其中(n-1)个内角的度数,就能计算出剩下的一个未知内角的度数。请编写一个程序,来解决这个问题。
输入
第1行只有一个整数n(2第2行有(n-1)个正整数,是每个已知内角的度数。相邻两个整数之间用单个空格隔开。
数据保证给定多边形合法。
输出
一个正整数,为未知内角的度数。
样例输入

3
45 60

样例输出

75

#include<cstdio>
#include<cmath>
using namespace std;
int main()
{int n,i,a,b;scanf("%d",&n);a=(n-2)*180;for(i=1;i<n;i++){scanf("%d",&b);a=a-b;}printf("%d",a);return 0;
}

09:奇数求和

描述
计算非负整数 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 <cstdio>
#include <cmath>
using namespace std;
int main()
{int a,b,d,e=0;scanf("%d %d",&a,&b);for(int i=a;i<=b;i++){if(i%2!=0)e=e+i;}printf("%d",e);return 0;
}

10:满足条件的数累加

描述
将正整数 m 和 n 之间(包括 m 和 n)能被 17 整除的数累加。其中,0 < m < n < 1000。
输入
一行,包含两个整数m和n,其间,以一个空格间隔。
输出
输出一行,包行一个整数,表示累加的结果。
样例输入

50 85

样例输出

204

#include <cstdio>
#include <cmath>
using namespace std;
int main()
{int m,n,sum=0;scanf("%d %d",&m,&n);for(int i=m;i<=n;i++){if(i%17==0)sum=sum+i;}printf("%d",sum);return 0;
}

11:整数的个数

描述
给定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 <cstdio>
#include <cmath>
using namespace std;
int main()
{int k,a,e,f,g,b=0,c=0,d=0;scanf("%d",&k);for(int i=1;i<=k;i++){scanf("%d",&e);if(e==1){b=b+1;}else if(e==5){c=c+1;}else if(e==10){d=d+1;}elsecontinue;}printf("%d\n",b);printf("%d\n",c);printf("%d",d);return 0;
}

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

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

3 2
2 3 2

样例输出

2

#include <cstdio>
#include <cmath>
using namespace std;
int main()
{int N,m,a,b=0;scanf("%d %d",&N,&m);for(int i=1;i<=N;i++){scanf("%d",&a);if(a==m)b++;elsecontinue;  }printf("%d",b);return 0;
}

13:乘方计算

描述
给出一个整数a和一个正整数n,求乘方an。
输入
一行,包含两个整数a和n。-1000000 <= a <= 1000000,1 <= n <= 10000。
输出
一个整数,即乘方结果。题目保证最终结果的绝对值不超过1000000。
样例输入

2 3

样例输出

8

#include<cstdio>
#include<cmath>
using namespace std;
int main()
{int n,i,a,b;scanf("%d%d",&a,&n);b=a;for(i=1;i<n;i++)a=a*b;printf("%d",a);return 0;
}

14:人口增长问题

描述
我国现有x亿人口,按照每年0.1%的增长速度,n年后将有多少人?
输入
一行,包含两个整数x和n,分别是人口基数和年数,以单个空格分隔。
输出
输出最后的人口数,以亿为单位,保留到小数点后四位。1 <= x <= 100, 1 <= n <= 100。
样例输入

13 10

样例输出

13.1306

#include <cstdio>
#include <cmath>
using namespace std;
int main()
{int n,x;double a=0;scanf("%d %d",&x,&n);a=x;for(int i=1;i<=n;i++)a=a*1.001;printf("%.4lf",a);return 0;
}

15:银行利息

描述
农夫约翰在去年赚了一大笔钱!他想要把这些钱用于投资,并对自己能得到多少收益感到好奇。已知投资的复合年利率为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 <cstdio>
#include <cmath>
using namespace std;
int main()
{int R,M,Y,b;double a=0;scanf("%d %d %d",&R,&M,&Y);//R是年利率a=a+M;for(int i=1;i<=Y;i++)a=a*(1+R*0.01);b=floor(a);//取整数,即下取整 printf("%d",b);return 0;
}

16:买房子

描述
某程序员开始工作,年薪N万,他希望在中关村公馆买一套60平米的房子,现在价格是200万,假设房子价格以每年百分之K增长,并且该程序员未来年薪不变,且不吃不喝,不用交税,每年所得N万全都积攒起来,问第几年能够买下这套房子?(第一年年薪N万,房价200万)
输入
一行,包含两个正整数N(10 <= N <= 50), K(1 <= K <= 20),中间用单个空格隔开。
输出
如果在第20年或者之前就能买下这套房子,则输出一个整数M,表示最早需要在第M年能买下,否则输出Impossible。
样例输入

50 10

样例输出

8

#include <cstdio>
#include <cmath>
using namespace std;
int main()
{int N,K,i;double a,k,b=200;scanf("%d%d",&N,&K);//N是年薪,K是增长率;for(i=1;i<=20;i++){k=K;if(N*i>=b)//b是房子在当年的价格,如果总收入大于房价,则成立;{printf("%d",i);break;}b=b*(1+k/100);//每年的房价都要上涨;}if(i==21)printf("Impossible");return 0;
}

17:菲波那契数列

描述
菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。
给出一个正整数k,要求菲波那契数列中第k个数是多少。
输入
输入一行,包含一个正整数k。(1 <= k <= 46)
输出
输出一行,包含一个正整数,表示菲波那契数列中第k个数的大小
样例输入

19

样例输出

4181

#include<cstdio>
#include<cmath>
using namespace std;
int main()
{int k,a=1,i,b=1,c;scanf("%d",&k);for(i=1;i<=k;i++){if(i<=2)//前两个数是1c=1;if(i>=3)//从第三个数开始,就开始等于前两个数的和c=a+b;a=b;b=c;  }printf("%d",c);return 0;
}

18:鸡尾酒疗法

描述
鸡尾酒疗法,原指“高效抗逆转录病毒治疗”(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<cstdio>
#include<cmath>
using namespace std;
int main()
{int n,i,x,y,x1,y1;double z,z1;scanf("%d",&n);scanf("%d%d",&x,&y);z=y*1.0/x;for(i=1;i<n;i++){scanf("%d%d",&x1,&y1);z1=y1*1.0/x1;if(z1-z>0.05)printf("better\n");else if(z-z1>0.05)printf("worse\n");elseprintf("same\n");}return 0;
}

19:救援

描述
救生船从大本营出发,营救若干屋顶上的人回到大本营,屋顶数目以及每个屋顶的坐标
和人数都将由输入决定,求出所有人都到达大本营并登陆所用的时间。
在直角坐标系的原点是大本营,救生船每次从大本营出发,救了人之后将人送回大本营。坐标系中的点代表屋顶,每个屋顶由其位置坐标和其上的人数表 示。救生船每次从大本营出发,以速度50 米/分钟驶向下一个屋顶,达到一个屋顶后,救下其上的所有人,每人上船1 分钟,船原路返回,达到大本营,每人下船0.5 分钟。假设原点与任意一个屋顶的连线不穿过其它屋顶。
输入
第一行,一个整数,表示屋顶数n。
接下来依次有n 行输入,每一行上包含两个表示屋顶相对于大本营的平面坐标位置的实数(单位是米)、一个表示人数的整数,数之间以一个空格分
开。
输出
一行,救援需要的总时间,精确到分钟 (向上取整)。
样例输入

1
30 40 3

样例输出

7

#include<iostream>
#include<cmath>
using namespace std;
int main()
{double x,y,r,p,s,t=0;cin>>r;for(int i=1;i<=r;i++){cin>>x>>y>>p;s=sqrt((x*x)+(y*y));t+=2*s/50+p*1.5;}cout<<ceil(t);return 0;
}

20:球弹跳高度的计算

描述
一球从某一高度落下(整数,单位米),每次落地后反跳回原来高度的一半,再落下。
编程计算气球在第10次落地时,共经过多少米? 第10次反弹多高?
输入
输入一个整数h,表示球的初始高度。
输出
输出包含两行:
第1行:到球第10次落地时,一共经过的米数。
第2行:第10次弹跳的高度。
注意:结果可能是实数,结果用double类型保存。
提示:输出时不需要对精度特殊控制,用cout << ANSWER,或者printf("%g", ANSWER)即可。
样例输入

20

样例输出

59.9219
0.0195313

#include<cstdio>
#include<cmath>
using namespace std;
int main()
{int i;double h,w=0,b=0,c=0;scanf("%lf",&h);w=h;for(i=1;i<=10;i++){h=h/2;w=w+h*2;}w-=h*2;printf("%g\n%g",w,h); return 0;
}

21:角谷猜想

描述
所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整数为5,计算过程分别为16、8、4、2、1。
程序要求输入一个整数,将经过处理得到1的过程输出来。
输入
一个正整数N(N <= 2,000,000)
输出
从输入整数到1的步骤,每一步为一行,每一部中描述计算过程。最后一行输出"End"。如果输入为1,直接输出"End"。
样例输入

5

样例输出

5*3+1=16
16/2=8
8/2=4
4/2=2
2/2=1
End

#include<cstdio>
#include<cmath>
using namespace std;
int main()
{long long n,i;scanf("%lld",&n);while(n!=1)//当这个数字不是1时进入循环,否则退出循环;{if(n%2==0)//如果这个数是偶数;{printf("%lld/2=%lld\n",n,n/2);//输出“这个数/2=这个数除2后的数”;n=n/2;//这个数除2;}else//如果这个数是奇数;{printf("%lld*3+1=%lld\n",n,n*3+1);//输出“这个数*3+1=这个数乘3加1后的数”;n=n*3+1;//这个数乘3加1后的数;}}    printf("End");//结束循环后输出End;return 0;
}

22:津津的储蓄计划

描述
津津的零花钱一直都是自己管理。每个月的月初妈妈给津津300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。
为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上20%还给津津。因此津津制定了一个储蓄计划:每个月的月初,在得到妈妈给的零花钱后,如果她预计到这个月的月末手中还会有多于100元或恰好100元,她就会把整百的钱存在妈妈那里,剩余的钱留在自己手中。
例如11月初津津手中还有83元,妈妈给了津津300元。津津预计11月的花销是180元,那么她就会在妈妈那里存200元,自己留下183元。到了11月月末,津津手中会剩下3元钱。
津津发现这个储蓄计划的主要风险是,存在妈妈那里的钱在年末之前不能取出。有可能在某个月的月初,津津手中的钱加上这个月妈妈给的钱,不够这个月的原定预算。如果出现这种情况,津津将不得不在这个月省吃俭用,压缩预算。
现在请你根据2004年1月到12月每个月津津的预算,判断会不会出现这种情况。如果不会,计算到2004年年末,妈妈将津津平常存的钱加上20%还给津津之后,津津手中会有多少钱。
输入
包括12行数据,每行包含一个小于350的非负整数,分别表示1月到12月津津的预算。
输出
包括一行,这一行只包含一个整数。如果储蓄计划实施过程中出现某个月钱不够用的情况,输出-X,X表示出现这种情况的第一个月;否则输出到2004年年末津津手中会有多少钱。
样例输入

样例 #1:
290
230
280
200
300
170
340
50
90
80
200
60
样例 #2:
290
230
280
200
300
170
330
50
90
80
200
60

样例输出

样例 #1:
-7
样例 #2:
1580

#include<cstdio>
#include<cmath>
using namespace std;
int main()
{long long k=0,m,q,a,h=0;for(a=1;a<=12;a++){scanf("%lld",&m);//每月的支出;k=k+300;//每月获得的钱(300);if(k<m)//如果所持有的钱低于需要支出的,则该月为负,结束并输出该月份;{printf("-%lld\n",a);return 0;}k=k-m;//如果所持有的钱高于需要支出的,则减去后进行下一月;while(k>=100)//若该月支出后仍剩下大于100;{k-=100;//剩余的钱减去100;h+=100;//妈妈那里增加100;           }if(a==12)//若进行完12月仍有剩余;   {q=k+h*1.2;//则会获得自己剩下的钱加上在妈妈那里存的钱的1.2倍;printf("%lld",q);}}return 0;
}

23:药房管理

描述
随着信息技术的蓬勃发展,医疗信息化已经成为医院建设中必不可少的一部分。计算机可以很好地辅助医院管理医生信息、病人信息、药品信息等海量数据,使工作人员能够从这些机械的工作中解放出来,将更多精力投入真正的医疗过程中,从而极大地提高了医院整体的工作效率。
对药品的管理是其中的一项重要内容。现在药房的管理员希望使用计算机来帮助他管理。假设对于任意一种药品,每天开始工作时的库存总量已 知,并且一天之内不会通过进货的方式增加。每天会有很多病人前来取药,每个病人希望取走不同数量的药品。如果病人需要的数量超过了当时的库存量,药房会拒 绝该病人的请求。管理员希望知道每天会有多少病人没有取上药。
输入
共3行
第一行是每天开始时的药品总量m
第二行是这一天取药的人数n(0 < n <= 100)
第三行共有n个数,分别记录了每个病人希望取走的药品数量(按照时间先后的顺序),两数之间以空格分隔
输出
只有1行,为这一天没有取上药品的人数。
样例输入

30
6
10 5 20 6 7 8

样例输出

2

#include<cstdio>
#include<cmath>
#include<csrting>
using namespace std;
int main()
{int n,i,m,a,b=0;scanf("%d%d",&m,&n);    //药品总量m,取药人数n;for(i=1;i<=n;i++){scanf("%d",&a);  //每个人取得药;m=m-a;         //取走后生的药品数量;if(m>=0)         //若还有药品,则继续;continue;else{m=m+a;    //没有取上药品的人数;b++;       //没取上则b+1;}}printf("%d",b);return 0;
}

24:正常血压

描述
监护室每小时测量一次病人的血压,若收缩压在90 - 140之间并且舒张压在60 - 90之间(包含端点值)则称之为正常,现给出某病人若干次测量的血压值,计算病人保持正常血压的最长小时数。
输入
第一行为一个正整数n,n < 100
其后有n行,每行2个正整数,分别为一次测量的收缩压和舒张压,中间以一个空格分隔。
输出
输出仅一行,血压连续正常的最长小时数。
样例输入

4
100 80
90 50
120 60
140 90

样例输出

2

#include<cstdio>
#include<cmath>
using namespace std;
int main()
{int n,i,a,b,t=0,d=0,c=0;scanf("%d",&n);for(i=1;i<=n;i++){scanf("%d%d",&a,&b);//收缩压,舒张压;if(a>=90&&a<=140&&b>=60&&b<=90)//收缩压,舒张压都满足条件,则计数器加一;c++;else//如果不符合,则进行比较,若此次累加器的数大于上一次,则此次累加器替换上次的累加器(也就是找连续的最大的累加器的数){if(c>d)d=c;c=0;continue;}}if(d>c)printf("%d",d);elseprintf("%d",c);return 0;
}

26:统计满足条件的4位数个数

描述
给定若干个四位数,求出其中满足以下条件的数的个数:
个位数上的数字减去千位数上的数字,再减去百位数上的数字, 再减去十位数上的数字的结果大于零。
输入
输入为两行,第一行为四位数的个数n,第二行为n个的四位数,数与数之间以一个空格分开。(n <= 100)
输出
输出为一行,包含一个整数,表示满足条件的四位数的个数。
样例输入

5
1234 1349 6119 2123 5017

样例输出

3

#include<cstdio>
#include<cmath>
using namespace std;
int main()
{int n,i,m,a,b,c,d,e=0;scanf("%d",&n);for(i=1;i<=n;i++){scanf("%d",&m);a=m/1000;b=m/100%10;c=m%100/10;d=m%10;if(d-a-b-c>0)e++;elsecontinue;}printf("%d",e);return 0;
}

27:级数求和

描述
已知:Sn= 1+1/2+1/3+…+1/n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。
现给出一个整数K(1<=k<=15),要求计算出一个最小的n;使得Sn>K。
输入
一个整数K。
输出
一个整数n。
样例输入

1

样例输出

2

#include<cstdio>
#include<cmath>
#include<cstring>
using namespace std;
int main()
{int i,k,n;double s=0;scanf("%d",&k);for(i=1;i<=100000000;i++){s=s+1.0/i;if(s>k){printf("%d",i);break;}}return 0;
}

29:数字反转

描述
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。
输入
输入共 1 行,一个整数N。
-1,000,000,000 ≤ N≤ 1,000,000,000。
输出
输出共 1 行,一个整数,表示反转后的新数。
样例输入

样例 #1:
123
样例 #2:
-380

样例输出

样例 #1:
321
样例 #2:
-83

#include<cstdio>
#include<cmath>
using namespace std;
int main()
{int n,a=0,b;scanf("%d",&n);do{a=a*10+n%10;n=n/10;}while(n!=0);printf("%d",a);return 0;
}

32:求分数序列和

描述
有一个分数序列 q1/p1,q2/p2,q3/p3,q4/p4,q5/p5,… ,其中qi+1= qi+ pi, pi+1=qi, p1= 1, q1= 2。比如这个序列前6项分别是2/1,3/2,5/3,8/5,13/8,21/13。求这个分数序列的前n项之和。
输入
输入有一行,包含一个正整数n(n <= 30)。
输出
输出有一行,包含一个浮点数,表示分数序列前n项的和,精确到小数点后4位。
样例输入

2

样例输出

3.5000

#include<cstdio>
#include<cmath>
using namespace std;
int main()
{int n,i,a,b,e;double d=0,c;a=1;b=2;scanf("%d",&n);for(i=1;i<=n;i++){c=b*1.0/a;d=d+c;e=b;b=b+a;a=e;}printf("%.4lf",d);return 0;
}

33:计算分数加减表达式的值

描述
编写程序,输入n的值,求 1/1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + 1/7 - 1/8 + … + (-1)n-1·1/n 的值。
输入
输入一个正整数n。1 <= n <= 1000。
输出
输出一个实数,为表达式的值,保留到小数点后四位。
样例输入

2

样例输出

0.5000

#include<cstdio>
#include<cmath>
using namespace std;
int main()
{int n,i;double a=0;scanf("%d",&n);for(i=1;i<=n;i++){if(i%2==0)a=a-1.0/i;elsea=a+1.0/i; }printf("%.4lf",a);return 0;
}

34:求阶乘的和

描述
给定正整数n,求不大于n的正整数的阶乘的和(即求1!+2!+3!+…+n!)
输入
输入有一行,包含一个正整数n(1 < n < 12)。
输出
输出有一行:阶乘的和。
样例输入

5

样例输出

153

#include<cstdio>
#include<cmath>
using namespace std;
int main()
{int n,i,a=0,b=1;scanf("%d",&n);for(i=1;i<=n;i++){b=b*i;a=a+b;}printf("%d",a);return 0;
}

35:求出e的值

描述
利用公式e = 1 + 1/1! + 1/2! + 1/3! + … + 1/n! 求e 。
输入
输入只有一行,该行包含一个整数n(2<=n<=15),表示计算e时累加到1/n!。
输出
输出只有一行,该行包含计算出来的e的值,要求打印小数点后10位。
样例输入

10

样例输出

2.7182818011

提示
1、e以及n!用double表示

2、要输出浮点数、双精度数小数点后10位数字,可以用下面这种形式:

printf("%.10f", num);

#include<cstdio>
#include<cmath>
using namespace std;
int main()
{int n,i,j;double sum=1,a=1;scanf("%d",&n);for(i=1;i<=n;i++){a=a*i;sum=sum+1.0/a;}printf("%.10f\n",sum);return 0;
}

42:画矩形

描述
根据参数,画出矩形。
输入
输入一行,包括四个参数:前两个参数为整数,依次代表矩形的高和宽(高不少于3行不多于10行,宽不少于5列不多于10列);第三个参数是一个字符,表示用来画图的矩形符号;第四个参数为1或0,0代表空心,1代表实心。
输出
输出画出的图形。
样例输入

7 7 @ 0

样例输出

@@@@@@@
@     @
@     @
@     @
@     @
@     @
@@@@@@@
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{int a,b,d,i,j;char c;scanf("%d %d %c %d",&a,&b,&c,&d);if(d==1)//非空心for(i=1;i<=a;i++){for(j=1;j<=b;j++) printf("%c",c);//输出第一行的;printf("\n");//换行后输出下一行;}if(d==0)//空心for(i=1;i<=a;i++){if(i==1||i==a)for(j=1;j<=b;j++)  printf("%c",c);//第一行和最后一行连着输出;else{printf("%c",c);//从第二行一直到倒数第二行只在两个端点输出,先在左端点输出一个符号;for(j=2;j<b;j++)printf(" ");//每一行的二个一直到倒数第二个输出空格;printf("%c",c);//每一行的最后一个输出符号;}printf("\n");每一行结束后换行;}return 0;
}

NOI- 1.5编程基础之循环控制(不完整)相关推荐

  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. C语言NOI 1.5 编程基础之循环控制(17~23)

    文章目录 17 斐波那契数列 18 鸡尾酒疗法 19 救援 20 球弹跳高度的计算 21 角谷猜想 22 津津的储蓄计划 23 药房管理 17 斐波那契数列 描述 菲波那契数列是指这样的数列: 数列的 ...

  4. NOI 1.5编程基础之循环控制_02:财务管理(编辑过程解)

    一:观察(助于对题意的理解) 1.要求 1)本题总时间限制:1000ms,内存限制:65536kB. 2)求班上所有学生的平均年龄,保留到小数点后两位. 3)输入包含12行,每行包含一个数,为某个月的 ...

  5. NOI / 1.5编程基础之循环控制——01:求平均年龄

    总时间限制: 1000ms 内存限制: 65536kB 描述 班上有学生若干名,给出每名学生的年龄(整数),求班上所有学生的平均年龄,保留到小数点后两位. 输入 第一行有一个整数n(1<= n ...

  6. NOI / 1.5编程基础之循环控制——02:财务管理

    总时间限制: 1000ms 内存限制: 65536kB 描述 Larry今年毕业并找到了一份工作.他赚很多钱,但似乎总是不够.Larry认为他需要控制他的投资以解决自己的财务问题.Larry拿到了自己 ...

  7. NOI / 1.5编程基础之循环控制——21:角谷猜想

    总时间限制: 1000ms 内存限制: 65536kB 描述 所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1.如 ...

  8. NOI / 1.5编程基础之循环控制 08:多边形内角和

    08:多边形内角和 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 在欧几里德几何中,n边形的内角和是(n-2)*180°.已知其中(n-1)个内角的度数,就能计 ...

  9. NOI / 1.5编程基础之循环控制——13:乘方计算

    总时间限制: 1000ms 内存限制: 65536kB 描述 给出一个整数a和一个正整数n,求乘方an. 输入 一行,包含两个整数a和n.-1000000 <= a <= 1000000, ...

  10. NOI / 1.5编程基础之循环控制 P21 角谷猜想

    加粗样式 总时间限制: 1000ms 内存限制: 65536kB 描述 所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够 ...

最新文章

  1. Hbase 和 MySQL 的区别是什么?一文深度对比!
  2. 一种定位内存泄露的方法(Linux)
  3. F#中的异步和并行设计模式(三):代理
  4. 宜搭数字工厂,让订单周期缩减三分之一
  5. 这个是帮朋友发的,。。。我也觉得挺无聊的。
  6. PyQt5中使用代码实现嵌套布局
  7. supervisor linux下进程管理工具
  8. 交换两个变量的值(三种方式、完整代码)
  9. 知乎启动首部科幻剧《寒梅工程2021》 概念片首次曝光
  10. 华科计算机系研究生遗书,看完华中科大研究生遗书《狗血的研究生生涯》,泪目了!有话要说...
  11. jQuery如何创建元素
  12. Anagram Groups(字符串)
  13. WKWebView终极指南
  14. css图片滑动切换图_html图片轮播原理
  15. 报表分析工具有哪些?常见开源报表工具和商用报表工具介绍
  16. Lambert漫反射模型
  17. 一个屌丝程序员的青春(二六五)
  18. 0元永久授权,etl作业批量调度必备软件 Taskctl Free应用版
  19. deep learning编程作业总结1---喵咪识别
  20. 外键字段未建索引引发的死锁

热门文章

  1. java开发工具培训_给Java开发初学者的10个学习建议,助你学习事半功倍
  2. 中国强制性产品认证CCC认证
  3. 利用hosts文件修改域名映射实现Nignx反向代理
  4. Freemarker中大于号的使用
  5. Oracle优化之sql基本功
  6. [洛谷1462 ]通往奥格瑞玛的道路---二分答案+spfa
  7. android系统如何修改才能不显示鼠标的光标
  8. 5000字详解KMP算法
  9. kingbase索引使用实践——sp-gist
  10. 淡入淡出的图片轮显幻灯片类