C++期末复习题库.docx
《C++期末复习题库.docx》由会员分享,可在线阅读,更多相关《C++期末复习题库.docx(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、L除以13描述输入一个大于0的大整数N,长度不超过100位,要求输出其除以13得到的商和余数。输入一个大于0的大整数,长度不超过100位。输出两行,分别为整数除法得到的商和余数。样例输入:样例输出:0ttinclude #include#includeusing namespace std;int main () int t, len, shang300, yu=0, b150 = 0 ; /yu 表示余数,shang300 表示商char a 150;gets (a+1);从标准输入设备读取字符串函数len-strlen(a+l);获取字符串长度for (int i=l;i=len;i+)(
2、bi=ai-48; /ascii表中0-9是在48-57,所以需要重零开始b i =b i +yu*10 ;yu=bi%13; 得到余数shangi=bi/13 ; 得到商)for (int j=l; j=len; j+) 用于删除前导 0(if (shangj!=0)(t=j;break;7.与指定数字相同的数的个数描述输出一个整数序列中与指定数字相同的数的个数。 输入输入包含三行:第一行为N,表示整数序列的长度(N = 100);第二行为N个整数,整数之间以一个空格分开;第三行包含一个整数,为指定的数字叫输出输出为N个数中与m相同的数的个数。样例输入32 3 22样例输出2ttinclud
3、e int main()int n;scanf (%d, &n);int aw;for (int i=0;iN;i+)(scanf(%d,&a i);)int m, count=0;scanf(%d, &m);for (int i=0;iN;i+)(if (ai=m)(count+;)printf (/z%dz/, count);return 0;8-陶陶摘苹果描述陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,陶陶就会 跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上 再试试。现在已知10个苹果到地面的高度,以及陶陶把手伸直的时
4、候能够达到的最大高度,请帮陶陶算 一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。输入包括两行数据。第一行包含10个100到200之间(包括100和200)的整数(以厘米为单位) 分别表示10个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。第二行只包括一个 100到120之间(包含100和120)的整数(以厘米为单位),表示陶陶把手伸直的时候能够 达到的最大高度。输出包括一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。样例输入100 200 150 140 129 134 167 198 200 111110样例输出5#include#includeusing na
5、mespace std;int a15;int main() int b=0, c, e, f, n ;for (int i=l;ia i;cinn;n=n+30; 输入她手长加凳子高度for(int i=l;i=10;+i)进行比较,能不能摘到。可以就累加1if(n=a i)b+;coutbndl;return 0;9.计算书费描述下面是一个图书的单价表:计算概论28.9元/本数据结构与算法32.7元/本数字逻辑45.6元/本C+程序设计教程78元/本人工智能35元/本计算机体系结构86.2元/本编译原理27.8元/本操作系统43元/本计算机网络56元/本JAVA程序设计65元/本给定每种图
6、书购买的数量,编程计算应付的总费用。输入输入一行,包含10个整数(大于等于0,小于等于100),分别表示购买的计算概论、数 据结构与算法、数字逻辑、C+程序设计教程、人工智能、计算机体系结构、编译原理、操作系统、计算机网络、JAVA程序设计的数量(以本为单位)。 每两个整数用一个空格分开。输出输出一行,包含一个浮点数f,表示应付的总费用。精确到小数点后一位。样例输入1 5 8 10 5 1 1 2 3 4样例输出2140.2ftinclude ttinclude using name space std; int main () double a10 = 28. 9, 32. 7, 45. 6
7、, 78, 35, 86. 2, 27. 8, 43, 56, 65;价格存放 double x,s=0;for (int i=0;i 19-35、36-60、61以上(含61)四个年龄段统计的患病人数占总患病人数的比例。输入共2行,第一行为过往病人的数目n (0 n = 100),第二行为每个病人患病时的年龄。 输出按照0-18、19-35. 36-60、61以上(含61)四个年龄段输出该段患病人数占总患病人数的 比例,以百分比的形式输出,精确到小数点后两位。每个年龄段占一行,共四行。样例输入样例输出20. 00%20. 00%20. 00%40. 00%#include#includeus
8、ing namespace std;int main() int n, i;int age 100;double percent4= 0;cinn;病人数nfor (i=0; iage i; 患病年龄for (i=0; in; i+)(if (agei=19)&(agei二35)percent 1+;统计年龄在19到35岁的人数if(agei=36)&(agei-61)percent 3+;统计年龄在60岁以上的人数coutsetiosflags (ios: : fixed) setprecision(2) ;/格式输出控制,保 留两位小数for(i=0; i4; i+) 转换成百分数的形式输
9、出percenti=percenti*100. 0/n; coutpercenti%endl;return 0;.校门外的树描述某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马 路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0, 1, 2,L,都种有一棵树。由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任 一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的 树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。 输入第一行有
10、两个整数L (1 = L = 10000)和M (1 = M = 100) , L代表马路的长度, M代表区域的数目,L和M之间用一个空格隔开。接下来的M行每行包含两个不同的整数,用一 个空格隔开,表示一个区域的起始点和终止点的坐标。对于20%的数据,区域之间没有重合的部分;对于其它的数据,区域之间有重合的情况。输出包括一行,这一行只包含一个整数,表示马路上剩余的树的数目。样例输入500 3150 300100 200470 471样例输出298#include#includeusing namespace std;int a10005;/ 设a(树的棵数)的最大值为10005。int mai
11、n() int l;cinL;for (int i=0 ;iM;输入一个M (区域数);for(int i=l;i=M;i+) 循环i最开始等于1, i小于等于M, i不停地加。int c, d;cincd;for (int j=c; j=d; j+) 循环把 c 到 d 的树拔掉。aj=0;)int x;x=0;for(int j=0; j=L; j+) 循环设一个数为j, j最开始等于0, j小于等于 L, j不停地加。if (aj=l) x+;)printf (%d,x);输出数x (最后剩下的树)。return 0;.打印月历描述给定年月,打印当月的月历表。输入输入为一行两个整数,第一
12、个整数是年份yar (1900 year 2099),第二个整数是月份month (1 month 12),中间用单个空格隔开。输出输出为月历表。月历表第一行为星期表头,如下所示:Sun Mon Tue Wed Thu Fri Sat其余各行一次是当月各天的日期,从1日开始到31日(30日或28日)。日期数字应于星期 表头右对齐,即各位数与星期表头相应缩写的最后一个字母对齐。日期中间用空格分隔出空白。 样例输入2006 5样例输出1 2 3 4 5 67 8910111213141516171819202122232425262728293031Sun Mon Tue提示Wed Thu Fri
13、 SatWed Thu Fri Sat闰年判断方法:能被4整除但不能被100整除,或者能被400整除。1900年1月1日是周一。#include#include#include#includeint main () int y, m;scanf (级d %d, &y, &m);int a = 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);if (y%4=0&y%100!=0)|y%400=0)(a2+;)long long s=0;if (y=1900)(s=l ;)for (int i=1900;iy;i+)(if(i%4=0&y%10
14、0!=0)| (y%400=0)|s-s+2;)else s+;/printf (z/%dn/z, s);)s=s%7;for (int i=l;im;i+)(s=s+a i;)/printf (z/%dnz s);s=s%7;int t=0;printf (,zSun Mon Tue Wed Thu Fri Satn);for (int i=l;i=s;i+)printf (/z);t+;)for (int i=l;i=am;i+)(if(i10)(printf ( %d ,i);) else(printf ( %d ,i);)t+;if (t=7)(t=0;printf (n);).计算两
15、个日期之间的天数描述给定两个日期,计算相差的天数。比如2010-1-1和2010-1-3相差2天。输入共两行:第一行包含三个整数startYar, startMonth, startDay,分别是起始年、月、日。第二行包含三个整数endYear, endMonth, endDay,分别是结束年、月、日。相邻两个整数之间用单个空格隔开。年份范围在13000。保证日期正确且结束日期不早于起始日期。输出输出一个整数,即是两个日期相差的天数。样例输入2008 1 12009 1 1样例输出366提示闰年被定义为能被4整除的年份,但是能被100整除而不能被400整除的年是例外,它们不是闰年。闰年的2月份
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 期末 复习 题库
限制150内