循环题目讲解Word下载.docx
《循环题目讲解Word下载.docx》由会员分享,可在线阅读,更多相关《循环题目讲解Word下载.docx(42页珍藏版)》请在冰点文库上搜索。
计算线段长度
已知线段的两个端点的坐标A(Xa,Ya)A(Xa,Ya),B(Xb,Yb)B(Xb,Yb),求线段ABAB的长度,保留到小数点后33位。
第一行是两个实数Xa,YaXa,Ya,即AA的坐标。
第二行是两个实数Xb,YbXb,Yb,即BB的坐标。
输入中所有实数的绝对值均不超过1000010000。
一个实数,即线段ABAB的长度,保留到小数点后33位。
11
22
1.414
判断数正负
给定一个整数NN,判断其正负。
如果N>
0N>
0,输出positivepositive;
如果N=0N=0,输出zerozero;
如果N<
0N<
0,输出negativenegative。
一个整数N(−109≤N≤109)N(−109≤N≤109)。
0,输出positivepositive;
如果N=0N=0,输出zerozero;
0,输出negativenegative。
1
positive
输出绝对值
输入一个浮点数,输出这个浮点数的绝对值,保留到小数点后两位。
输入一个浮点数,其绝对值不超过10000。
输出这个浮点数的绝对值,保留到小数点后两位。
-3.14
3.14
整数大小比较
输入两个整数,比较它们的大小。
若x>
y,输出>
;
若x=y,输出=;
若x<
y,输出<
。
一行,包含两个整数x和y,中间用单个空格隔开。
0≤x<
2320≤x<
232,
−231≤y<
231−231≤y<
231。
一个字符。
若x>
y,输出>
;
若x=y,输出=;
若x<
y,输出<
1000100
>
判断是否为两位数
判断一个正整数是否是两位数(即大于等于10且小于等于99)。
若该正整数是两位数,输出1,否则输出0。
一个正整数,不超过1000。
一行。
54
晶晶赴约会
晶晶的朋友贝贝约晶晶下周一起去看展览,但晶晶每周的1、3、5有课必须上课,请帮晶晶判断她能否接受贝贝的邀请,如果能输出YES;
如果不能则输出NO。
注意YES和NO都是大写字母!
输入有一行,贝贝邀请晶晶去看展览的日期,用数字1到7表示从星期一到星期日。
输出有一行,如果晶晶可以接受贝贝的邀请,输出YES,否则,输出NO。
2
YES
骑车与走路
在清华校园里,没有自行车,上课办事会很不方便。
但实际上。
并非去办任何事情都是骑车快,因为骑车总要找车、开锁、停车、锁车等,这要耽误一些时间。
假设找到自行车,开锁并车上自行车的时间为27秒;
停车锁车的时间为23秒;
步行每秒行走1.2米,骑车每秒行走3.0米。
请判断走不同的距离去办事,是骑车快还是走路快。
如果骑车快,输出一行"
Bike"
如果走路快,输出一行"
Walk"
如果一样快,输出一行"
All"
输入一行,包含一个整数,表示一次办事要行走的距离,单位为米。
输出一行,如果骑车快,输出一行"
;
如果走路快,输出一行"
如果一样快,输出一行"
120
Bike
分段函数
编写程序,计算下列分段函数y=f(x)y=f(x)的值。
结果保留到小数点后三位。
y=−x+2.5;
5
y=2−1.5(x−3)(x−3);
5≤x<
10
y=x2−1.5;
10≤x<
20
一个浮点数N(0≤N<
20)N(0≤N<
20)。
输出
NN
对应的分段函数值:
f(N)f(N)。
1.0
1.500
计算邮资
根据邮件的重量和用户是否选择加急计算邮费。
计算规则:
重量在1000克以内(包括1000克),基本费8元。
超过1000克的部分,每500克加收超重费4元,不足500克部分按500克计算;
如果用户选择加急,多收5元。
输入一行,包含整数和一个字符,以一个空格分开,分别表示重量(单位为克)和是否加急。
如果字符是y,说明选择加急;
如果字符是n,说明不加急。
输出一行,包含一个整数,表示邮费。
1200y
17
最大数输出
输入三个整数,数与数之间以一个空格分开。
输出一个整数,即最大的整数。
输入为一行,包含三个整数,数与数之间以一个空格分开。
输出一行,包含一个整数,即最大的整数。
102056
56
【来源】
判断闰年
判断某年是否是闰年。
如果公元a年是闰年输出Y,否则输出N。
输入只有一行,包含一个整数a(0<
a<
3000)。
一行,如果公元a年是闰年输出Y,否则输出N。
2006
N
点和正方形的关系
有一个正方形,四个角的坐标(x,y)分别是(1,-1),(1,1),(-1,-1),(-1,1),x是横轴,y是纵轴。
写一个程序,判断一个给定的点是否在这个正方形内(包括正方形边界)。
如果点在正方形内,则输出yes,否则输出no。
输入一行,包括两个整数x、y,以一个空格分开,表示坐标(x,y)。
输出一行,如果点在正方形内,则输出yes,否则输出no。
yes
简单计算器
一个最简单的计算器,支持+,-,*,/四种运算。
仅需考虑输入输出为整数的情况,数据和运算结果不会超过int表示的范围。
然而:
1.如果出现除数为0的情况,则输出:
Dividedbyzero!
2.如果出现无效的操作符(即不为+,-,*,/之一),则输出:
Invalidoperator!
输入只有一行,共有三个参数,其中第1、2个参数为整数,第3个参数为操作符(+,-,*,/)。
输出只有一行,一个整数,为运算结果。
1.如果出现除数为0的情况,则输出:
2.如果出现无效的操作符(即不为+,-,*,/之一),则输出:
12+
3
求和和平均数值
读入n(1≤n≤10000)个整数,求它们的和与均值。
输入第一行是一个整数n,表示有n个整数。
第2~n+1行每行包含1个整数。
每个整数的绝对值均不超过10000。
输出一行,先输出和,再输出平均值(保留到小数点后5位),两个数间用单个空格分隔。
4
344
222
343
1131282.75000
孙老师讲授的《计算概论》这门课期中考试刚刚结束,他想知道考试中取得的最高分数。
因为人数比较多,他觉得这件事情交给计算机来做比较方便。
你能帮孙老师解决这个问题吗?
输入两行,第一行为整数n(1≤n<
100),表示参加这次考试的人数.第二行是这n个学生的成绩,相邻两个数之间用单个空格隔开。
所有成绩均为0到100之间的整数。
输出一个整数,即最高的成绩。
8578909960
99
、
最大跨度值
给定一个长度为n的非负整数序列,请计算序列的最大跨度值(最大跨度值=最大值减去最小值)。
一共2行,第一行为序列的个数n(1≤n≤1000),第二行为序列的n个不超过1000的非负整数,整数之间以一个空格分隔。
输出一行,表示序列的最大跨度值。
6
308759
9
奥运奖牌计数
2008年北京奥运会,A国的运动员参与了n天的决赛项目(1≤n≤17)。
现在要统计一下A国所获得的金、银、铜牌数目及总奖牌数。
输入第1行是A国参与决赛项目的天数n,其后n行,每一行是该国某一天获得的金、银、铜牌数目。
输出4个整数,为A国所获得的金、银、铜牌总数及总奖牌数。
输入n+1行,第1行是A国参与决赛项目的天数n,其后n行,每一行是该国某一天获得的金、银、铜牌数目,以一个空格分开。
输出1行,包括4个整数,为A国所获得的金、银、铜牌总数及总奖牌数,以一个空格分开。
103
310
030
44311
奇数求和
计算非负整数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)之间的所有奇数的和
715
55
满足条件的数累加
将正整数m和n之间(包括m和n)能被17整除的数累加,其中0<
m<
n<
1000。
一行,包含两个整数m和n,其间,以一个空格间隔。
输出一行,包行一个整数,表示累加的结果。
5085
204
整数的个数
给定k(1<
k<
100)个正整数,其中每个数都是大于等于1,小于等于10的数。
写程序计算给定的k个正整数中,1,5和10出现的次数。
输入有两行:
第一行包含一个正整数k,第二行包含k个正整数,每两个正整数用一个空格分开。
输出有三行,第一行为1出现的次数,,第二行为5出现的次数,第三行为10出现的次数。
158105
1068:
与指定数字相同的数的个数
输出一个整数序列中与指定数字相同的数的个数。
输入包含2行:
第1行为N和m,表示整数序列的长度(N≤100)和指定的数字;
第2行为N个整数,整数之间以一个空格分开。
输出为N个数中与m相同的数的个数。
第1行为N和m,表示整数序列的长度(N≤100)和指定的数字,中间用一个空格分开;
32
232
乘方计算
给出一个整数a和一个正整数n(-1000000≤a≤1000000,1≤n≤10000),求乘方anan,即乘方结果。
最终结果的绝对值不超过1000000。
一行,包含两个整数a和n。
-1000000≤a≤1000000,1≤n≤10000。
一个整数,即乘方结果。
题目保证最终结果的绝对值不超过1000000。
23
8
人口增长
我国现有x亿人口,按照每年0.1%的增长速度,n年后将有多少人?
保留小数点后四位。
一行,包含两个整数x和n,分别是人口基数和年数,以单个空格分隔。
输出最后的人口数,以亿为单位,保留到小数点后四位。
1≤x≤100,1≤n≤100。
1310
13.1306
菲波那契数
菲波那契数列是指这样的数列:
数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。
给出一个正整数k,要求菲波那契数列中第k个数是多少。
输入一行,包含一个正整数k。
(1≤k≤46)
输出一行,包含一个正整数,表示菲波那契数列中第k个数的大小。
19
4181
救援
救生船从大本营出发,营救若干屋顶上的人回到大本营,屋顶数目以及每个屋顶的坐标和人数都将由输入决定,求出所有人都到达大本营并登陆所用的时间。
在直角坐标系的原点是大本营,救生船每次从大本营出发,救了人之后将人送回大本营。
坐标系中的点代表屋顶,每个屋顶由其位置坐标和其上的人数表示。
救生船每次从大本营出发,以速度50米/分钟驶向下一个屋顶,达到一个屋顶后,救下其上的所有人,每人上船1分钟,船原路返回,达到大本营,每人下船0.5分钟。
假设原点与任意一个屋顶的连线不穿过其它屋顶。
第一行,一个整数,表示屋顶数n。
接下来依次有n行输入,每一行上包含两个表示屋顶相对于大本营的平面坐标位置的实数(单位是米)、一个表示人数的整数。
救援需要的总时间,精确到分钟(向上取整)。
30403
7
药房管理
随着信息技术的蓬勃发展,医疗信息化已经成为医院建设中必不可少的一部分。
计算机可以很好地辅助医院管理医生信息、病人信息、药品信息等海量数据,使工作人员能够从这些机械的工作中解放出来,将更多精力投入真正的医疗过程中,从而极大地提高了医院整体的工作效率。
对药品的管理是其中的一项重要内容。
现在药房的管理员希望使用计算机来帮助他管理。
假设对于任意一种药品,每天开始工作时的库存总量已知,并且一天之内不会通过进货的方式增加。
每天会有很多病人前来取药,每个病人希望取走不同数量的药品。
如果病人需要的数量超过了当时的库存量,药房会拒绝该病人的请求。
管理员希望知道每天会有多少病人没有取上药。
共3行,第一行是每天开始时的药品总量m。
第二行是这一天取药的人数n(0<
n≤100)。
第三行共有n个数,分别记录了每个病人希望取走的药品数量(按照时间先后的顺序)。
只有1行,为这一天没有取上药品的人数。
30
10520678
正常血压
监护室每小时测量一次病人的血压,若收缩压在90-140之间并且舒张压在60-90之间(包含端点值)则称之为正常,现给出某病人若干次测量的血压值,计算病人保持正常血压的最长小时数。
第一行为一个正整数n(n<
100),其后有n行,每行2个正整数,分别为一次测量的收缩压和舒张压。
输出仅一行,血压连续正常的最长小时数。
10080
9050
12060
14090
统计满足条件的4位数
给定若干个四位数,求出其中满足以下条件的数的个数:
个位数上的数字减去千位数上的数字,再减去百位数上的数字,再减去十位数上的数字的结果大于零。
输入为两行,第一行为四位数的个数n,第二行为n个的四位数。
(n≤100)
输出为一行,包含一个整数,表示满足条件的四位数的个数。
12341349611921235017
求分数序列和
有一个分数序列
q1p1,q2p2,q3p3,q4p4,q5p5,....q1p1,q2p2,q3p3,q4p4,q5p5,....
其中qi+1=qi+piqi+1=qi+pi,
pi+1=qi,p1=1,q1=2pi+1=qi,p1=1,q1=2。
比如这个序列前6项分别是21,32,53,85,138,211321,32,53,85,138,2113。
求这个分数序列的前n项之和。
输入有一行,包含一个正整数n(n≤30)。
输出有一行,包含一个浮点数,表示分数序列前n项的和,精确到小数点后4位。
3.5000
余数相同问题
已知三个正整数a,b,c。
现有一个大于1的整数x,将其作为除数分别除a,b,c,得到的余数相同。
请问满足上述条件的x的最小值是多少?
数据保证x有解。
一行,三个不大于1000000的正整数a,b,c,两个整数之间用一个空格隔开。
一个整数,即满足条件的x的最小值。
300262205
分苹果
把一堆苹果分给n个小朋友,要使每个人都能拿到苹果,而且每个人拿到的苹果数都不同的话,这堆苹果至少应该有多少个?
一个不大于1000的正整数n,代表小朋友人数。
一个整数,表示满足条件的最少苹果个数。
36
计算星期几
假设今天是星期日,那么过abab天之后是星期几?
两个正整数a,b,中间用单个空格隔开。
0<
a≤100,0<
b≤10000。
一个字符串,代表过ab天之后是星期几。
其中,Monday是星期一,Tuesday是星期二,Wednesday是星期三,Thursday是星期四,Friday是星期五,Saturday是星期六,Sunday是星期日。
32000
Tuesday