C++100题(上)
更新时间:2024-07-08 12:39:02 阅读量: 综合文库 文档下载
- c100题推荐度:
- 相关推荐
1000 A+B Problem
Time Limit:1000MS Memory Limit:10000K
Total Submit:1763 Accepted:840
Description
计算a+b的值
Input
两个整数a,b (0<=a,b<=1000)
Output
请输出a与b的和
Sample Input
1 2
Sample Output
3
Hint
输出中不要任何其他多余字符
1001 求两个数中的最大值
Time Limit:1000MS Memory Limit:65536K
Total Submit:1635 Accepted:808
Description
对于任意给定取值区间为[-32768,32767]的两个整数,求其最大值。
Input
两个整数a,b,整数之间用空格分隔。
Output
输出两个数中的最大值。
Sample Input
8 9
Sample Output
9
Hint
注意2个输入之间不是用逗号分隔的,输出的结果不要有其他多余的字符,例如输出 max=9 ,这样的输出不满足题目要求。
Source
1002求五个数中的最大值
Time Limit:1000MS Memory Limit:65536K
Total Submit:1624 Accepted:542
Description
对于任意给定取值区间在[-32768,32767]的五个整数,求其最大值。
Input
有3个测试用例,每个测试用例的输入占一行。在这一行中有五个整数,整数之间用空格隔开。
Output
对每个测试用例输出一行,包含一个整数,是五个中的最大值。
Sample Input
8 9 7 1 5 10 20 30 4 6 100 1 10 50 70
Sample Output
9 30 100
Hint
注意:你的程序必须能够处理3组数据,并且每输出一组数据后必须换行。
Source
1003五个数排序
Time Limit:1000MS Memory Limit:65536K
Total Submit:1248 Accepted:419
Description
对于任意给定的5个整数,请按从小到大的顺序排序。整数的取值范围在[-32768,32767]。
Input
包含6个测试用例,对于每个测试用例,其输入占一行。在这一行中包含了5个整数,整数之间用空格隔开。
Output
请按如下示例的形式输出。每个测试用例的输出单独占一行,输出排序后的5个整数。
注意,输出中的“Case”首字母要大写,其后有一个空格。冒号为半角冒号,其后也有一个空格。整数之间用空格隔开。每个测试用例输出的最后一个整数后面没有空格。
Sample Input
9 3 2 7 5 1 3 5 7 8 5 3 9 7 2 6 8 7 4 3 7 9 3 2 5 3 2 7 3 2
Sample Output
Case 1: 2 3 5 7 9 Case 2: 1 3 5 7 8 Case 3: 2 3 5 7 9 Case 4: 3 4 6 7 8 Case 5: 2 3 5 7 9 Case 6: 2 2 3 3 7
Hint
有很多种方法实现上述任务。下面提供的思路仅供初学者参考! 可分成4趟。
第一趟:用第1个数与其余的4个数比较,如果发现其中有某个数比它小,则交换这2个数的值。这样5个数中的最小值一定放在第1个变量中了。
第二趟:用第2个数与其余的3个数比较,如果发现其中有某个数比它小,则交换这2个数的值。这样4个数中的最小值一定放在第2个变量中了。
第三趟:用第3个数与其余的2个数比较,如果发现其中有某个数比它小,则交换这2个数的值。这样3个数中的最小值一定放在第3个变量中了。
第四趟:用第4个数与其余的1个数比较,如果发现其中有某个数比它小,则交换这2个数的值。这样2个数中的最小值一定放在第4个变量中了。剩下在最后一个变中的值一定是最小值了。
这样有序结果就依次保存在这5个变量中,依次输出即可。
Source
简单统计
Time Limit:1000MS Memory Limit:65536K
Total Submit:840 Accepted:376
Description
某次实验之后得到了很多组实验数据,现在需要你统计每组实验数据中的最大值,最小值,平均值。
Input
第一行包含一个整数n(1<=n<=100),表示实验数据的组数(即测试用例的个数)。每个测试用例的输入有2行,第一行包含一个整数k (1<=k<100),表示这组实验中数据的个数。第二行中包含k个实验数据(注意这些实验数据可能有小数点)。
Output
每个测试用例的输出单独占一行,分别输出该组实验数据中的最大值、最小值、平均值,结果全部保留2位小数。
Sample Input
2 3 3 4 5 5
2.3 2.5 1.2 3.0 4.1
Sample Output
5.00 3.00 4.00 4.10 1.20 2.62
Hint
1、对于有小数点的数据应该使用double型变量来存放(而不是存放整数的int型),double型在输入和输出中的格式控制符是%lf,其中的lf是Long Float的第一个字母。
2、如何在输出中保留2为小数点呢?下面举例说明,例如double型变量a中存放了一个值3.14159265,那么输出语句printf(\所输出的结果就是3.14,格式控制符中的\表示小数点后面保留2为小数。
小白兔智斗狐狸
Time Limit:1000MS Memory Limit:65536K
Total Submit:135 Accepted:45
Description
大家都知道狐狸很狡猾,但是狐狸想要抓到兔子也没有那么容易,因为它也有“狡兔三窟”的名声。下面就让我们来看看这场狐狸与兔子的角逐吧!
在某个山上有n个洞,住着一只狐狸和一只兔子,这n个洞呈圆周形排列,分布在山的周围,每个洞之间有一定的距离。狐狸总想去捉吃兔子。有一天,兔子远远地看见了狐狸,便对狐狸说:“这样吧,我们玩个游戏,把n个洞依次编成1至n号,你住的洞编号为第n号洞,我藏在另外的某个洞里。你从自己的洞出发,沿着一个方向走,第一次走一个间隔(相邻的两洞之间为一个间隔),进入1号洞寻找我,第二次走2个间隔,进3号洞寻找我,依此类推,次数不限,如果我被你找到了,你就甘愿成为你的美餐,如何?。狐狸心想,不限次数,只要我努力找,总可以找到小白兔的。结果狐狸找呀找呀,找了三天三夜也没有找到小白兔。
请你帮小白兔一个忙,如果给定洞的个数n,它应该躲在哪些洞里才是永远安全的。
Input
第一行包含一个整数k(1<=k<=100),表示测试用例的个数。对于每个测试用例的输入占1行,包含一个整数n (3<= n<=1000)。
Output
请将安全的洞号从小到大依次输出,洞号之间用空格隔开,最后一个洞号之后没有空格但有回车。如果没有洞是安全的,则输出”no safe caves”,每个测试用例的输出各占一行。
Sample Input
2 10 4
Sample Output
2 4 7 9
no safe caves
Hint
注意利用余数的同余性质:
① a≡ b (mod n) => a+c ≡ b+c (mod n)
② a≡ b (mod n), 且c≡ d (mod n) => ac≡ bd (mod n)
Source
游乐园的收入
Time Limit:1000MS Memory Limit:65536K
Total Submit:718 Accepted:456
Description
大家欢游乐园公司的财务部每天都需要计算当天的营业总收入。该游乐园设有若干个游乐项目,全部项目的当天收入就是游乐园的日收入。财务部的工作非常忙,希望你能编程帮忙实现日收入的计算。
声明:本图片来自链接
http://image.http://www.wodefanwen.com//i?tn=baiduimage&ct=201326592&lm=-1&cl=2&word=????μ??1?áà??°&rn=21&pn=180&ln=2000
Input
第一行包含一个整数n(1<=n<=100),表示共有n天的收入数据。 对于每天的收入数据分2行。第一行包含一个整数k(1<=k<=50),表示当天有k个有了项目,接下来的一行中有k个整数表示每个项目的当日收入。
Output
分别求出每天游乐园的日收入。每个日收入的输出占单独一行。
Sample Input
3 4
300 200 280 100 5
280 170 400 200 50
2 65 73
Sample Output
880 1100 138
Source
高次方的尾数
Time Limit:2000MS Memory Limit:65536K
Total Submit:366 Accepted:99
Description
求x的y次方的最后k位数。
Input
第一行包含一个整数n(1≤n≤100),表示测试用例的个数。
每个测试用例的输入有一行,整数x,y,k。其中,0<x≤1000,0≤y≤1000; 0<k≤4;
Output
对每个测试用例输出一行。输出x的y次方的最后k位数(忽略前导0)。
Sample Input
2
2 10 3 10 1000 4
Sample Output
24
0
Hint
注意:高次方的结果会超过32位二进制整数的表示范围。
Source
用@填充的矩形图案
Time Limit:2000MS Memory Limit:65536K
Total Submit:941 Accepted:646
Description
向屏幕输出由字符构成的实心矩形图案。根据读入的n值,输出以@为填充字符、宽为20、高为n的字符矩形。
Input
输入数据只有一个正整数n(1≤n≤50)。
Output
输出以@为填充字符、宽为20、高为n的字符矩形。显然为了结束每行字符,在输出20个@字符后,应输出一个回车。最后一行也必须与前面一样输出回车,否则提交系统不会予以认可。
Sample Input
5
Sample Output
@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@
Source
正方形面积
Time Limit:2000MS Memory Limit:65536K
Total Submit:1163 Accepted:627
Description
根据读入的正整数值,输出其正方形的面积。
Input
输入第一行包含一个正整数k(0<k<100),表示有k组测试数据;接下来k行,每行包含一组测试数据。每组测试数据含有1个正整数n(1≤n≤10000)。
Output
对每组测试数据输出其正方形的面积,每个面积单独占一行。
Sample Input
4 1 3 5 7
Sample Output
1 9 25 49
Source
一个字符三角形
Time Limit:2000MS Memory Limit:65536K
Total Submit:717 Accepted:414
Description
根据读入的字符值,输出以该字符为填充字符的定长等腰三角形。
Input
输入数据只有一个字符值c(?A?≤c≤?Z?)。
Output
输出以c为填充字符、宽为7、底边长为13的等腰三角形。同样,每行结束时应回车。
Sample Input
A
Sample Output
A AAA AAAAA AAAAAAA AAAAAAAAA AAAAAAAAAAA AAAAAAAAAAAAA
Source
整数的立方和
Time Limit:2000MS Memory Limit:65536K
Total Submit:975 Accepted:643
Description
给定一个正整数k(1<k<50),求1到k的立方和m。即m=1×1×1+2×2×2 +…+ k×k×k。
Input
输入只有一行,该行包含一个正整数k。
Output
输出只有一行,该行包含1到k的立方和。
Sample Input
5
Sample Output
225
Source
计算书费
Time Limit:2000MS Memory Limit:65536K
Total Submit:525 Accepted:399
Description
下面是一个图书的单价表: 《计算概论》 28.9 元/本
《数据结构与算法》 32.7 元/本 《数字逻辑》 45.6元/本
《C++程序设计教程》 78 元/本 《人工智能》 35 元/本
《计算机体系结构》 86.2 元/本 《编译原理》 27.8元/本
《操作系统》 43 元/本 《计算机网络》 56 元/本 《JAVA程序设计》 65 元/本
给定每种图书购买的数量,编程计算应付的总费用。
Input
输入包含一组测试数据,每组测试数据包含10个整数p[i](0≤p[i]≤100, 1≤i≤10),分别表示购买的《计算概论》、《数据结构与算法》、《数字逻辑》、《C++程序设计教程》、《人工智能》、《计算机体系结构》、《编译原理》、《操作系统》、《计算机网络》、《JAVA程序设计》的数量(以本为单位)。每两个整数用一个空格分开。
Output
对于每组测试数据,输出一行。该行包含一个浮点数f,表示应付的总费用。精确到小数点后两位。
Sample Input
1 5 8 10 5 1 1 2 3 4
Sample Output
2140.20
Hint
可用printf(\来输出sum的值,并精确到小数点后两位。
Source
星期几
Time Limit:1000MS Memory Limit:65536K
Total Submit:613 Accepted:359
Description
我们经常需要知道若干天以后是星期几,以便安排我们的活动。通常我们会用查日历表的办法得到答案。但是,不查日历表,如果告诉你今天是星期几,你是否能很快得出若干天后是星期几吗?
Input
输入中的第一行包含一个整数n(1<=n<=100),表示测试用例的个数。
对于每个测试用例,包含2个整数m,k。m表示当前是星期几,m为0表示星期天,1表示星期一,2表示星期二,依此类推。 k表示,从今天开始经过k天。
Output
对每个测试用例输出一行,包含一个整数,表示k天后是星期几。m为0表示星期天,1表示星期一,2表示星期二,依此类推。
Sample Input
2 1 8 3 11
Sample Output
2 0
Source
证件连续编号
Time Limit:1000MS Memory Limit:65536K
Total Submit:647 Accepted:444
Description
有某单位给发放的大批量证件时,需要有个程序帮助实现自动编号。
比如,已知本批证件的第一个号码为8号,需要连续发放5个证件,那么本次发放的号码就是8 9 10 11 12
Input
包含两个整数n,k,n表示要发放的第一个号码,k表示需要发放k个。
Output
输出从n开始的连续k个号码。
Sample Input
10 5
Sample Output
10 11 12 13 14
Source
蛟龙翻身
Time Limit:1000MS Memory Limit:65536K
Total Submit:776 Accepted:499
Description
生活在东海里的一条长长的蛟龙发现其身后有一怪物,于是掉转头去追赶。我们用一串有序的数字表示蛟龙的身体,每一个数字表示
龙身的一小节。请你编程实现蛟龙身体的180度掉头。
Input
共有2行,第一行包含整数k,表示龙身的小节个数。第2行,包含k个整数,表示龙身的各个小节。
Output
输出1行,为180度调头后的结果。
Sample Input
5
1 2 3 4 5
Sample Output
5 4 3 2 1
Source
龟兔赛跑
Time Limit:1000MS Memory Limit:65536K
Total Submit:787 Accepted:343
Description
乌龟和兔子举行了一场赛跑,骄傲的兔子跑跑停停,乌龟自始至终不敢松懈。当发号令响后,我们每隔固定时间间隔记录此时刻乌龟和兔子从起点跑出的距离。现在需要你编程回答在各个时刻谁领先或者是平局。
Input
第一行有一个整数k(1≤k≤100),表示共记录了k个时刻的数据。
其后的k行,每行包含2个整数,分别表示乌龟、兔子所跑出的距离。
Output
对每个时刻输出一行,输出当前时刻和领先者的信息,其格式请参见Sample Output。
Sample Input
3 1 2 4 3 5 5
Sample Output
time 1:rabbit leading time 2:tortoise leading time 3:drawing
Hint
注意输出中不要有不必要的多有字符!
Source
银行的日交易量
Time Limit:1000MS Memory Limit:65536K
Total Submit:413 Accepted:324
Description
某银行需要统计日交易量,每存进一笔或取出一笔算做一次交易,日交易量为存入和取出金额的绝对值之和。存入用正值表示,取出用负值表示。请你帮忙编程实现。
Input
第一行包含一个非负整数k,表示被交易的笔数。其后一行包含k个整数,表示每笔交易的金额。
Output
输出其日交易量。
Sample Input
4 3 0 -4 -5
Sample Output
12
Source
奇偶校验
Time Limit:1000MS Memory Limit:65536K
Total Submit:362 Accepted:246
Description
在数字信息编码成二进制后,这些二进制的编码数据在存储、传输的过程中可能会发生翻转。例如,原来是0的位变成了1,原来是1的位变成了0。根据对大量数据的统计分析,结果表明,这些错误翻转中一位翻转发生的概率最大。如果我们能检测到一位翻转,那么就能检查出大多数据的错误的情况。因此,我们在原编码的最后设置一个校验位,如果是奇校验,那么包括校验位在内的所有为1的位的个数是奇数个;如果是偶校验,那么包括校验位在内的所有为1的位的个数是偶数个。假如我们采用奇校验,现在请你编程计算校检位的值。
Input
第一行有2个整数k,n(1≤k,n≤100),第一个整数k表示编码的位数,第二个整数n表示编码的个数。其后的n行中,每行表示一个编码,每行包含k个用空格分隔的整数,这些整数取0或1。
Output
输出带有奇偶校验位的编码。每个编码单独一行。
Sample Input
7 3
1 0 1 0 1 1 1 0 1 1 1 0 0 1 0 0 1 0 1 1 0
Sample Output
1 0 1 0 1 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 1 1 0 0
Source
学生成绩的等级
Time Limit:1000MS Memory Limit:65536K
Total Submit:1202 Accepted:478
Description
给定某个学生的成绩s,请根据下列分数段的给出相应的等级。
s<0或s>100为error,0≤s<60为fail,60≤s<70为pass,70≤s<80为medium,80≤s<90为good,90≤s≤100为excellent。
Input
第一行包含一个整数n,表示有n个学生。其后的n行,每行包含一个整数s,表示学生成绩。
Output
输出每个学生的等级,每个学生单独占一行。
Sample Input
3 150 60
75
Sample Output
error pass medium
Source
横卧式菱形图案
Time Limit:1000MS Memory Limit:65536K
Total Submit:668 Accepted:270
Description
输出横卧式空心菱形图案。
Input
输入数据只有1行,包含2个整数m, n和一个字符型数据c(1≤m, n≤50)。
Output
输出斜边和横边分别为m,n个c字符构成的横卧式空心菱形图案。斜边的相邻两行中下行向右与上行错开一个字符的位置。
Sample Input
4 5 *
Sample Output
***** * * * * *****
Hint
输入时请使用scanf(\注意各个格式控制符之间用空格隔开。
Source
1021垂立式菱形图案
Time Limit:1000MS Memory Limit:65536K
Total Submit:383 Accepted:208
Description
输出由*号构成菱形图案。
Input
包含一个整数k(1≤k≤40),表示每条菱形边上*号的个数。
Output
输出由*构成的菱形图案。要求,相邻2行中的同一菱形边上的*号,在行方向上相差一个字符的位置。
Sample Input
4
Sample Output
* * * * * * * * * * * *
Hint
菱形的空心处实际上输出了空格。
Source
大奖赛计分
Time Limit:1000MS Memory Limit:65536K
Total Submit:493 Accepted:333
Description
学校举行了校园歌手大奖赛,大奖赛有10名评委,每个评委给参赛选手打分。该选手的最后得分就是去掉一个最高分,去掉一个最低分后,取平均分作为选手的最后得分。
Input
输入中包含10个整数,分别表示是个评委的打分。
Output
输出选手的最后得分,结果保留2位小数。
Sample Input
89 90 70 69 88 70 90 63 89 87
Sample Output
81.50
Hint
注意输入数据是整数,但是输出结果是浮点数。如何保留2为小数,请查阅教材和资料。
Source
实心矩形图案
Time Limit:1000MS Memory Limit:65536K
Total Submit:700 Accepted:439
Description
输出由特定字符c构成的m行n列实心矩形图案。
Input
输入数据中包含2个整数n(1≤n, m≤50)和一个字符型数据c。它们之间都是用空格隔开。
Output
输出由特定字符c构成的m行n列实心矩形图案。
Sample Input
4 10 &
Sample Output
&&&&&&&&&& &&&&&&&&&& &&&&&&&&&& &&&&&&&&&&
Hint
本题的输入请使用scanf(“%d %d %c”,&m,&n,&c);的形式进行输入。注意在第二个%d与%c之间有一个空格。 为什么要加空格,原因如下:
如果在输入中既有整数数据又有字符串数据,那么输入的时候,应该注意:防止将整数数据后的分隔符(例如空格、回车、跳格)读入到字符型变量。解决的办
法是:将整数之后的分隔符写在对应的%d之后,这样就能忽略输入中的这个分隔符,从而使字符型变量读入正确的值。
Source
空心矩形图案
Time Limit:1000MS Memory Limit:65536K
Total Submit:671 Accepted:351
Description
向屏幕输出由#字符构成的m行n列的空心矩形图案。
Input
输入正整数m, n(1≤m, n≤80)。
Output
输出由#字符为边的m行n列的字符矩形图案。
Sample Input
4 7
Sample Output
####### # # # # #######
Hint
1:矩形内部的空心处实际上是空格字符填充的。 2:假定字符为#字符, 1行*1列的情形 :
#
2行*3列的情形 ### ###
3行*3列的情形 ### # # ###
Source
去空格
Time Limit:1000MS Memory Limit:65536K
Total Submit:532 Accepted:229
Description
编写一个程序,把任意给定的字符串中的空格全部删除。
Input
输入为一个或多个字符串,字符串最大串长是1000000个字符,这里所说的“一个字符串”是指以回车符结束为标志。
Output
输出删除空格后的字符串。除了去掉空格外,其余任何字符(包括回车符)原样输出。
Sample Input
hello,Wellcom to Acm! Programming is interesting!
Sample Output
hello,WellcomtoAcm!
Programmingisinteresting!
Hint
1:注意scanf和get输入的区别。
2:本题中并没有预先给出测试用例的个数,此时,必须利用读取输入数据时是否到达“文件尾(EOF,即End of File)”,例如本例的输入可以使用如下语句实现:
//此循环实现每循环一次就输入一个字符到字符变量onechar中(这个变量当然要先定义),直到EOF则结束循环。 while(scanf(\ 循环体中完成相应的处理任务即可。 }
Source
十全十美
Time Limit:1000MS Memory Limit:65536K
Total Submit:913 Accepted:270
Description
大家都看过著名MV导演王岳伦的电影处女作《十全九美》,对于这部以幽默、搞笑风格的古装片,相信大家都非常喜欢(没看过的同学一定要去看哦!)。
现在王导演遇到了个一个难题,想请聪明的你编一个程序帮他解决。王导演现在需要组织一个拍戏的班子,大家都知道,一个班子需要一帮个性各异、各具能力但又能很好相互互补、相互合作的成员,以圆满完成摄制任务。听说你学过程序,王导演需要你的帮助,当他知道某个人的每个个性特点后,需要知道什么样的人能与之互补合作。一个人的每个个性特点都表示为一个介于1-9的值,如果一个人的全部个性特点与另外一个人相应的个性特点值相加等于10,则认为他们就是十全十美的黄金搭档。相信你一定能帮他解决这个问题!
Input
输入的第一行中包含一个整数n,表示王导演共需考察的班子成员的个数。其后有n行,每一行有一个整数a,这个整数的位数大于等于1位,位数小于等10的6次方位。a的每一位表示该班子成员在某方面的个性特点值,每个个性特点值介于1到9之间。
Output
输出一个整数b,使得a与b的对应位数字相加等于10。
Sample Input
3 89 123 4567
Sample Output
21 987 6543
Source
数学王子
Time Limit:100MS Memory Limit:65536K
Total Submit:858 Accepted:270
Description
数学王子高斯小时候就能利用规律很快的将1+2+……+100算出来。现在有一个更有趣的问题,要求1+2+……+10^n,你能像高斯一样快速求出结果吗?
Input
第一行有一个整数t,表示有t组数据,以下一共t行,每行一个整数n,(0<=n && n<=1000)
Output
求上面那个问题的结果。
Sample Input
7 0 1 2 3 4 5 10
Sample Output
1 55 5050 500500 50005000 5000050000
50000000005000000000
Hint
首先发现结果中数字排列的规律,直接利用此规律求解。
Source
批改作业
Time Limit:1000MS Memory Limit:65536K
Total Submit:289 Accepted:130
Description
大家是否还记得我们小时候学汉字时的情形呢?相信那时候教我们的老师也是非常累的,因为他们要一个字一个字的看我们写的是否写错。现在,有一位在小学教英语的老师,布置给她的学生一个作业,将她在黑板上写的英文范文抄一遍。因为她教的是小学生,他们中有一部分人比较粗心,所以抄也抄出了很多错误,以致于老师批改作业的工作量变得相当大。现在,这位英语老师想请你帮忙,给
她写一个程序,来自动批阅学生的作业。具体规则如下:学生的作业只会出现抄错,不会出现漏抄和多抄字母或标点。也就是说,学生只能可抄错字母,不会抄错标点符号,批阅中记录下正确的字母总个数,将总的正确字母的个数除以短文总字符数(包括所有标点和空格)得出结果记为s,然后给出等级(s<60%为fail,60%≤s<70%为pass,70%≤s<80%为medium,80%≤s<90%为good,90%≤s≤100%为excellent)。你能帮她写出这个程序吗?
Input
第一行为一个整数n,表示有n个学生;
接下来一行为范文,字符串长度不超过1000;
接下来有n行,每行为第i个(i≤n)学生提交的作业,作业也为一个字符串。 (所有字符串只包括英文字母和标点符号和空格)
Output
对每个学生的作业给出等级。
Sample Input
2
Lost time is never found again. Lost time is never found again. Loxt txxe id ndddr ftsst axain.
Sample Output
student 1:excellent student 2:pass
Source
身份证升位
Time Limit:1000MS Memory Limit:65536K
Total Submit:63 Accepted:39
Description
现在大家使用的身份证都是18位号码,其实就在几年以前,身份证都是使用的15位号码。全中国十几亿人都要将15位的身份证号升至18位,工作量之大可想而知。现在假如你回到了身份证升位的时期,当地一个公安局想请你设计一款软件实现自动升位。 升位方法:将原十五位身份证出生年份由原来的2位升至4位(比如81升为1981,假设所有身份证的主人为1900-1999年出生)得到17位身份证码,再根据17位身份证码计算校验码,校验码加至号码尾即得18位身份证号码。 校验码是由十七位身份证码生成,生成方法如下: 校验码是由十七位身份证码生成,生成方法如下:
校验码公式: V=∑(ai×Wi)(mod 11) 2≤i≤18……………………………………(1) 其中, i----表示号码字符从右至左包括校验码在内的位置序号; ai----表示第i位置上的号码数值;
Wi----示第i位置上的加权因子(其值已定),其数值依据公式Wi=2^(i-1)(mod 11)计算得出,mod表示取余运算。
以34052419800101001C为例,其中C为校验码,根据公式(1)进行计算: V=(21+36+0+25+16+16+2+9+48++0+0+9+0+5+0+0+2) mod 11 = 2
然后根据计算的结果V,查下表得校验码,当C=10时,校验码为大写X。 校验码对应表
V的值 0 1 2 3 4 5 6 7 8 9 10 校验码C 1 0 X 9 8 7 6 5 4 3 2
查表v=2的校验码为X,所以18位号码为:34052419800101001X
Input
第一行为一个整数n(0<n≤10000);
接下来n行每行为一个待升位的十五位身份证号;
Output
对于每个待升位的十五位身份证号输出其对应的十八位身份证号。
Sample Input
3
340524800101001 430104891010253 430902871220803
Sample Output
34052419800101001X 430104198910102530 430902198712208036
Source
校内交通车
Time Limit:1000MS Memory Limit:65536K
Total Submit:65 Accepted:29
Description
在农大最牛的车莫过于校内交通车了(以下简称校车),大家都喜欢坐校车去上课。我住在金岸,到七教上课经常懒得走,所以就难免不了要坐校车了^_^。
为了以最快的速度从金岸到七教,现在我采用以下规则:
1.我在金岸门口等车,当第一辆校车来时,我直接坐校车往七教走,假设我上车不需要花费时间,且校车不再载其他人。
2.如果在途中有后面的校车要超过我坐的校车时,我直接跳上后面速度快的校车,假设这其中也不需要花费额外的时间。
金岸到七教的距离记做D。每辆校车到达金岸门口的时间记做C,每辆车有一个恒定不变的速度V.每天有M辆校车经过金岸门口。
现在我想知道我到达七教时所需要的最短时间,这样我就可以知道我是否会迟到,你能帮我吗?
Input
第一行包含一个整数N(0 每组测试数据的首行包含两个整数M(1<=M<=10),D(1<=D<=1000,km)。 以下M行每行包含2个整数V(1<=V<=40,km/h)和C(以分钟为单位)。 Output 我到达七教的最短时间,精确到小数点后两位。 Sample Input 1 3 10 3 6 10 30 4 3 Sample Output 90.00 Source 1031奖学金测评 Time Limit:1000MS Memory Limit:65536K Total Submit:92 Accepted:44 Description 每年的十月份就是同学们最关注的时候了,因为此时一年一度的评奖评优又开始了。大家都在忙碌着自己哪项该打多少分,然后把自己的各项得分反馈到班长处。我们的班长同学确实够累了,他得把每位同学的各项分加起来,再经过一些计算,然后还要排序。好在我们是信科院的,就把这些东西就交给电脑去处理吧,让班长们也轻松轻松。其实做个这样的数据自动处理的程序也比较简单,其中一种实现的方法就是同学们按照固定的格式把各自的各项分数通过E-mail发到班长的邮箱,然后程序通过POP3协议自动获取同学们发的所有邮件,再对邮件进行简单的分析,则可以得到所需要的每位同学的数据。假设这个程序的前几步已经完成,并且数据已经经过初步的分析和计算,现在已经得到了每位同学的姓名,德育分,智育分和文体分,想请你继续完成这个程序,利用这些数据得出每位同学的最终分数和全班的排名。 每位同学的最终分数为各项的加权得分之和,加权得分即为该项得分乘以相应的权值。德育的权值为30%×3,智育的权值为40%×3,文体的权值为30%×3,例如某位同学的智育分为137.4,则其智育分的加权得分为:137.4×40%×3=164.9(结果保留了一位小数)。 Input 第一行为一个整数n(0≤n≤50); 接下来n行为每位同学反馈的信息:从左往右依次为姓名(不超过8个字符),德育分,智育分,文体分。(分数为浮点型数据) Output 按最终得分从高到低排序,输出结果。 格式如下: 第一行输出依次输出\左靠齐占9个宽度)\左靠齐占10个宽度)\右靠齐8个宽度)。 接下来有n行,每行一个同学的名次(左靠齐4个宽度),姓名(右靠齐8个宽度),最终得分(右对齐15个宽度),最终得分保留1位小数。 Sample Input 4 aa bb cc dd 24 25 16 25 36.5 137.4 87.4 93.2 74 88 74 83 Sample Output rank name score 1 bb 266.6 2 dd 209.0 3 cc 185.9 4 aa 132.0 Source 自动发声报数器之长数版 Time Limit:1000MS Memory Limit:65536K Total Submit:17 Accepted:7 Description 自动发声报数装置在生活的许多场合下有应用。譬如说,在银行等排队取号后,营业窗口会依次自动发声报出可办理业务的号码。例如你取到了301号,则计算机会报出“三百零一号顾客请到某某窗口”。在医院等处缴费时,会有自动发声系统告知你应该缴费的金额。此外还有,在街头的身高体重测试机报告你的身高和体重时,或者在某些游戏结束后报告你获得的分数时,都应用了自动发声。发声的原理不复杂,计算机或单片机通过某种途径获得待发声的数据,分析出这个数字应该如何发音,然后合成为连续的语音信号控制扬声器发出声音。 你正好有机会到生产该种自动发声报数器的某某技术开发公司实习。为了考察一下你的编程能力,公司的技术总监给你布置了以下任务,你一定要不辱使命哦! 给定一个整数,请你输出这个数字的发音应该念成哪几个字。显然,这个任务仅仅是这个发声装置设计的发音分析部分。 Input 第一行包含一个整数n(1≤n≤200)表示测试用例的个数。其后的n行中,每行包含有一个整数k(0≤k<10^17,即10的17次方)。 Output 每个测试用例的输出单独占一行,输出整数k的发音对应的文字。\十百千万亿\分别用其拼音首字母的大写表示。 Sample Input 7 203 1008 12345 100000 1003040 9000000000000000 1234567890123456 Sample Output 2B03 1Q08 1W2Q3B4S5 1SW 1BW3Q04S 9QWY 1Q2B3S4W5Q6B7S8Y9Q01S2W3Q4B5S6 Hint 按照人民教育出版社版小学数学教材上的读法法则是: (1)从高位起一级一级的往下读;(2)读万级和亿级的数时 要按照个级的数的读法来读,再在后面加上“万”字或“亿”字; (3)每级末尾的0都不读,其他数位上有1个0或连续几个0,都只读1个0。 Source 考试系统之选择题评分 Time Limit:1000MS Memory Limit:65536K Total Submit:193 Accepted:148 Description 在很多的考试中都利用计算机判题,特别是选择题的判题非常适合计算机去完成,代替了人工繁重的重复性体力劳动,减少出错的机会,提高判卷效率等。自动化考试系统的应用越来越多,例如高考的标准化试卷考试,四六级英语考试,托福考试,计算机等级考试等。 现在要求你编写程序对某次考试中的单项选择题进行评分。 Input 第一行包含2个整数n,k,分别表示本次考试中试选择题的个数和每个选择题的分值。 第二行包含一个长度为n的字符串,表示标准答案。 第三行包含一个整数s,表示试卷的份数。其下的s行,每行代表一个应试者的答卷中选择题的作答。\表示应试者没有回答此题。 Output 按照顺序,每行输出一份试卷的选题题得分。 Sample Input 10 2 ABCDABCDAB 4 ABCDABCDAB BBCDDBCDAB AACDDBCDAA ABCDAXCDAB Sample Output 20 16 14 18 Source 已知底高求三角形的面积 Time Limit:1000MS Memory Limit:65536K Total Submit:502 Accepted:306 Description 已知三角形的底边长b和高为h,求三角形的面积。 Input 输入第一行包含一个正整数k(0<k<100),表示有k组测试数据;接下来k行,每行包含一组测试数据。每组测试数据含有2个正实数b, h。 Output 对每个测试用例,输出其面积,并单独占一行。结果保留3位小数。 Sample Input 3 1.5 4.0 3.2 5.789 5.642 7.13 Sample Output 3.000 9.262 20.114 Hint 对于带小数点的数据,由于float型是单精度的,精度较小,所以必须使用double型(双精度型)才能保证精度。对于double型的变量进行输入和输出,注意其格式控制符为%lf。 举例如下: double a; //定义双精度变量a scanf(\输入数据(可带小数点)的数据到变量a printf(\输出数据a,保留4位小数。 Source 已知三边求三角形的面积 Time Limit:1000MS Memory Limit:65536K Total Submit:696 Accepted:326 Description 已知三角形的3边长a,b,c,求三角形的面积。 Input 输入第一行包含一个正整数k(0<k<100),表示有k组测试数据;接下来k行,每行包含3个正整数b, h。 Output 对每个测试用例,输出其面积,并单独占一行。结果保留4位小数。如果三边不能构成三角形,则输出-1。如果两边之和等于第三边也认为是不能构成三角形。 Sample Input 4 3 4 5 4 5 6 2 3 7 7 8 15 Sample Output 6.0000 9.9216 -1 -1 Hint 1:利用“海伦-秦九韶公式”计算三角形面积:△=s(s-a)(s-b)(s-c)的开平方。其中s=(a+b+c)/2。 2:注意数学公式的形式与C语言表达此公式的不同之处。 例如: (1)在数学公式中的“乘法”运算符经常省略不写,但是在程序必须明确写出何处是乘法运算。例如上式应该写成s*(s-a)*(s-b)*(s-c)。 (2)如果变量a,b,c是整数时,计算s的时候一定注意数据类型的转换。应该写成s=(a+b+c)/2.0或者写成 s=(a+b+c)/(double)(2) 3:对于带小数点的数据,由于float型是单精度的,精度较小,所以必须使用double型(双精度型)才能保证精度。对于double型的变量进行输入和输出,注意其格式控制符为%lf。 举例如下: double a; //定义双精度变量a scanf(\输入数据(可带小数点)的数据到变量a printf(\输出数据a,保留4位小数。 4:求平方根可利用数学函数库中的现成函数,具体请自己查阅C程序设计教材和有关资料。 Source 素性测试(限时版) Time Limit:1000MS Memory Limit:65536K Total Submit:525 Accepted:170 Description 因为素数(也就是质数)在整数的有关运算中具有一些非常好的性质。在数据的加密中经常需要利用将素数来做一系列的运算。因此需要判断对于一个给定的数是否为素数。 Input 第一行有一个整数k(1≤k≤10000),即k各测试用例。 其后的k行中每行有一个整数n(2<=n<=1000000); Output 每个测试用例占一行,如果是素数,则输出yes,否则,输出no。 Sample Input 3 5 23 112 Sample Output yes yes no Hint 可以考虑使用素数筛的方法对数据进行一次预处理保存在数组中,以后对每个测试用例,只需查这个数组即可得知是否为素数。 Source
正在阅读:
C++100题(上)07-08
现代教育技术实验报告03-16
《管理会计》试题库(选择)03-22
2018银行柜员演讲稿02-25
人教版+高三C专题++(书面表达三星4)03-14
内科学 - 肾脏病学(一)04-24
P.7_PTS_ODI11g_New Features04-25
市民政局关于2022年上半年工作总结和下半年工作规划08-02
发现幸福 学习纵向展开讨论05-18
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 100
- 基于单片机的恒温箱控制系统设计
- “十三五”重点项目-心脑血管药物生产项目申请报告
- 第四章 传统心理物理法
- 穆斯林知识必读
- 企业法律风险防范讲座讲义
- 2011年政法干警民法名词解释
- 软件工程笔记1.0
- 山东省高中历史第15课大萧条与罗斯福新政教案8岳麓版必修2
- 商标法 2013英文 - 修改对照
- 中国图书课本行业市场调查研究报告(目录)
- 江苏移民荷兰后的生活怎么样?
- 2012年上海市高考压轴卷+文科数学试题
- 中小企业融资问题
- 制动器调整注意事项 - 图文
- B213-01计量器具、检测设备管理台账 - 图文
- 六上语文周末练习六上周末练习 第15周- jiaoshi
- 食品安全与食品健康超星尔雅课后习题
- 重庆南开中学初2014级九年级(上)阶段测试(一)物理试题
- 房屋建筑学、钢筋混凝土结构、基础工程(平时作业)2017.10.9
- 1#楼人防分项检查表 - 图文