收藏 分享(赏)

C++题集(含答案).doc

上传人:HR专家 文档编号:4853027 上传时间:2019-01-16 格式:DOC 页数:29 大小:191KB
下载 相关 举报
C++题集(含答案).doc_第1页
第1页 / 共29页
C++题集(含答案).doc_第2页
第2页 / 共29页
C++题集(含答案).doc_第3页
第3页 / 共29页
C++题集(含答案).doc_第4页
第4页 / 共29页
C++题集(含答案).doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、1. 利用异或运算对输入的文本进行加密解密输出,用户输入一个文本(字符串,设不超过 20 个字符) ,然后输入作为密钥的字符,程序输入加密及解密的字符串。2. 编写一个程序,用户输入年份及月份两个数据,程序输出该月份的天数。 (提示:对2 月要考虑是否闰年,闰年年份要么能被 4 整除且不能被 100 整除,要么能被 400 整除,除次之外都不是闰年) 。3. 某大桥按不同型号征收车辆过桥费:自行车免费,摩托车 2 元,小汽车 5 元,大客车与货车 8 元,货柜车 12 元。编写一个程序,按车辆的不同型号计算通过该大桥应征的过桥费。 (提示:可以用整数对不同型号的车辆进行编码)4. 输入一位同学

2、的考试成绩,若是 90100 分,输出“Excellent” ,8089 输出“Very good”,7079 输出“Good” ,6069 输出“Pass” ,60 分以下输出“No Pass” 。5. 旅行社的订票量小于 10 张时,航空公司给予 10%的折扣;订票量大于或等于 10 张且小于 20 张时,航空公司给予 15%的折扣;订票量大于或等于 20 张且小于 30 张时,航空公司给予 30%的折扣;订票量大于或等于 30 张时,航空公司给予最高的 45%的折扣。编程输入订票张数及单张机票票价,程序输出折扣率及应付款额。6. 用户输入一个整数流(输入 1000 表示数据输入结束) ,

3、如4 1 13 0 6 -5 1 -1 7 -12 19 0 100编写程序统计输入流中-1、0 和+1 的个数。7. 编写一个程序,求一个自然数中含有多少个 2 的因子。如,6 含 1 个 2 的因子,8 含3 个 2 的因子,11 不含 2 的因子。 (提示,程序应检查用户输入的合法性) 。8. 编写一个程序解决爱因斯坦台阶问题:有人走以台阶,若以每步走 2 级则最后剩 1 级;若每步走 3 级则最后剩 2 级;若以每步走 4 级则最后剩 3 级;若以每步走 5 级则最后剩 4 级;若以每步走 6 级则最后剩 5 级;若以每步走 7 级则最后刚好不剩。问台阶共有几级?9. 公鸡 5 元 1

4、 只,母鸡 3 元 1 只,小鸡 1 元 3 只,花了 100 元钱买 100 只鸡,问公鸡、母鸡、小鸡各多少只?10. 编程实现解决下述问题的算法:一位顾客在购物时,如果买 4 个苹果剩下 4 角钱如果买 5 个苹果则缺 5 角钱,请问,该顾客带了多少钱?多少钱可以头一个苹果?11. 编写程序计算 100 之内可以被 13 整除的自然数之和。12. 键盘输入 m 和 n(10并输出,其中 ij。31.编程求出 1000 以内的所有符合如下条件的数:其高位数字小于低位数字。如12,238 等。但 21,548 不符合条件。32.求任一整数 N 的标准分解式,即素数因子之积。例如 16=2*2*

5、2*2, 15=3*5。33.斐波那契(Fibonacci)数列问题:Fibonacci 数列递归定义为:x0=0,x1=1,xi+1=xi+xi-1, i=2,3,即从第二项开始,数列中的每一个元素等于前面两个元素之和。编程输出前 20 项Fibonacci 数。 (提示可以用递归或迭代两种方式编程)34. 正读和反读都一样的数称为回文数。编写程序输入一个整数 max_num,输出从 0 到max_num 中用二进制表示和十进制表示都是回文数的整数。定义一个函数is_circle_num()判断一个数( number)在某个进制(radius)下是否为回文数。例如,整数 313 就是该程序输

6、出的一个数,因为它的二进制表示为 10011001。35. 编写一个递归函数:将一个整数转换为响应的字符串并输出,函数原型可声明为:void int2str(int number)。36. 用函数实现将一个以字符串形式表示的十六进制数转换为一个十进制整数。例如,输入”A2”转换为 162。37. 编写一个将十进制整数转换为十六进制字符串的函数。38. 编写出判断一个整数是否为素数的函数,并求出在 2000 以内的有十个以上的所有连续的非素数组。39. 编制一个程序,统计从标准输入设备上输入的字符流(以?结束)中每个英文字母(大小写不分开计)出现的次数。40. 编程实现“冒泡排序算法” ,将输入

7、的若干整数由小到大(升序)排序输出。要求定义一个排序函数,其原型是 void bubble(int data, int length)。41. 给定含有 m+n 个元素的整型数组 A(其中 m0, n0) ,它分为两个互不重叠的,长度分别为 m 和 n 的子数组段,写出交换这两个子数组段的程序,要求不引入数组 A 以外的数组,但可引入若干中间变量。42. 用数组存储数据,实现筛选法求素数问题的求解。要求求出 2 到 1000 之间的所有素数。筛选法求出 2N 间的所有素数的方法是:首先将这些数全部放入一个数组中,然后重复下面的操作直到数组为空为止:a.找出其中的最小数 K,则 K 一定是一个素

8、数,因此可输出。b.从数组中删除 K 及其所有倍数。43. 编程实现二分查找算法。二分(折半)查找(搜索)算法如下:数组 a 中的 n 个数从大到小(降序)的顺序排列,要检索一个数 x 是否在 a 中,折半查找算法的思路是:设查找区间为lower, upper,初值 lower=0, upper=n-1; 算法步骤:(1)输入数组 a 的元素及 x;(2)x 是否为 a 的第一或最后一个元素。若是其中之一,算法结束;(3)将区间两等分为lower, mid和mid, upper,mid 为区间中点,每次取出中间项进行检查,若 x=amid,x 被检索到,算法结束;若 xamid,则在前半区间

9、lower, mid 内重复折半检索。反复执行上述步骤,使 lower 和 upper 相等或相差 1(表示未检索到 x) ,或 amid=x。44. 编程实现查找矩阵中最大元素的位置。要求输入一个矩阵中所有元素,输出该矩阵,并输出矩阵中最大数所在的行、列号及该元素的值。45. 编写程序找出二维整形数组中所有这样的元素及其位置:它在所在的行上是最大的,在所在的列上也是最大的。设数组中的元素各不相同。 (提示:先在第 i 行中寻找此行最大值元素,记下其行和列,然后在其所在的列判断它是否也是最大的,若是则输出结果。可以引入标志变量表示找到这个元素。 )46. 编程产生下列数组,并输出。1 2 3

10、4 5 6 2 3 4 5 6 0 3 4 5 6 0 1 4 5 6 0 1 2 5 6 0 1 2 3 6 0 1 2 3 4 47. 编程产生下列数组,并输出1 2 3 4 5 6 2 1 2 3 4 5 3 2 1 2 3 4 4 3 2 1 2 3 5 4 3 2 1 2 6 5 4 3 2 148. 编程产生下列数组,并输出。1 2 3 .n-1 0 2 3 4 . 0 1 3 4 5 . 1 2 n-1 0 1 .n-3 n-2 0 1 2 .n-2 n-149. 打印下面图形。11 3 11 3 5 3 11 3 5 7 5 3 11 3 5 7 9 7 5 3 1 1 3 2

11、1 3 150. 打印如下图形A B C D EB C D E AC D E A BD E A B CE A B C D1./加密字符串#includevoid main()char a21,b,key;coutab;for(int i=0;ai!=0;i+)ai=aib;coutkey;for(int j=0;aj!=0;j+)aj=ajkey;for(int g=0;ag!=0;g+)coutmain()int year,month,days;coutyearmonth;if(month=1|month=3|month=5|month=7|month=8|month=10|month=12

12、)days=31;coutmain()intkind;coutkind;switch(kind)case 1: coutmain()int marks;coutmarks;switch(marks/10)case 10:case 9:coutmain()int num,price;float discount,total_price;coutnumprice;switch(num/10)case 0: discount=0.1;break;case 1: discount=0.15;break;default: discount=0.3;total_price=num*price*(1-dis

13、count);coutmain()int a100,i,j,x=0,y=0,z=0;coutai;if(ai=1000) break;for(j=0;aj!=1000;j+)if(aj=-1) x+;if(aj=0) y+;if(aj=1) z+;coutmain()int x,i,n;coutx;if(xmain()int i,n;for(i=7;!(i%2=1i+=7)n=i;coutmain()int cock,hen,chicken,price;for(cock=0;cockmain()int money,i,m,n;for(i=1;i+)if(4+4*i=5*i-5)coutmain

14、()int n,i,j,s=0;for(i=1;i#includeintf(int n)int a,x,i,b;x=sqrt(n);if(n=2|n=3) b=1;else for(i=2;imn;if(m=n|n32000)coutmain()int i,j;for(i=1;imain()int m,n,temp;coutmn;temp=m#includemain()int n,i;coutn;for(i=0;pow(2,i)#includevoid main()const double fishnum=800000000;double fnum=fishnum;int n=1;while(

15、fnum=fishnum/2)fnum=fnum*(1-0.035);n+;cout=fishnum/10)fnum=fnum*(1-0.035);n+;cout#includemain()float a,b,c;coutabc;float t=b*b-4*a*c;if(a=0)if(b=0)if(c=0)cout0) coutmain()int a100,i,j,max,min,s=0;coutai;if(ai=1000) break;if(i=0)max=a0;min=a0;max=maxai?max:ai;min=minmain()int a,b;char x;coutaxb;if(x=

16、+)coutmain()int i,j,k,m=0;for(i=1;i=1) m+=1;/cout#includemain()int i;double temp=1,sum=0;for(i=1;temp=1e-8;i+)sum+=temp;temp/=i;coutintf(int x)int r;if(x=0) r=1;else r=x*f(x-1);return r;main()int i,s=0;for(i=1;imain()int i,s=0;for(i=1;i#includemain()int i,x;coutx;double temp=x,s=0;for(i=1;fabs(temp)

17、=1e-6;i+=2)s+=temp;temp=temp*(-x*x)/(float)(i+1)*(i+2);cout#includemain()int x,i,j;coutx;for(i=0;i+) if(x/(int)pow(10,i)=0)break;int a100;for(j=0;jmain()int i,a,b,c;for(i=100;imain()int k=1,d,a1,a2,a3,a4;bool b=false;for(k=1;k+)for(d=0;dintmain()int i,s,j;for(i=1;imain()int i,j;for(i=1;ij)coutmain()

18、int i,j,k;for(i=10;imain()int N,n,i;coutN;n=N;coutintx(int i)int r;if(i=0|i=1) r=1;else r=x(i-1)+x(i-2);return r;main()int n,r,m=0;for(n=0;n#includemain()int i,j,k,l;for(i=1;i=1;l-=2)coutmain()char a6=“ABCDE“,i,j,x;for(i=0;i#include static int is_circle_num ( int number , int radius );int main()intn

19、um,max_num;coutmax_num;for (num = 0 ; num =right_power)right_num=(number%right_power)/(right_power/radius);left_num=(number/left_power)%radius;if(left_num!=right_num) return 0 ;right_power=right_power*radius;left_power=left_power/radius;return 1;37.#include void int2str ( int number )int a ;if (numb

20、er= 0 ) return ;a=number- (number/10)*10 ; / 或 a=number%10int2str( number / 10 ) ;cout num ;if(num10#include #include #include using namespace std;bool rightFormat(string);int convert(string);int change2num(char);int main()string hex;couthex;if(!rightFormat(hex) cout9 break;return b;int convert(stri

21、ng s) int dec = 0;for(string:size_type i=0;ivoid con10to16(int n,char s)int i=0,m=0,j=0;char c;while(n!=0)m=n%16;if(m=0con10to16(n,s);cout#includeintfunc(int n)int i,k=(int)sqrt(n)+1;for(i=2;i=9)for(j=i-1;j=-1;j-)coutch;if(ch=A / 循环扫描数组的下标变量int loop; / 循环扫描部分数组的下标变量int temp; / 用于交换数据时作缓冲的临时变量/ 将数组分段

22、,逐段将数据冒泡排序for(segment = 0; segment = segment; loop = loop - 1) if (dataloop + 1 dataloop;/ 对数据排序bubble(data,max_nums);/ 将排序后的数据输出coutmn;for (i=0;iai; for(i=m-1; i=0; i-) t=ai;for(j=0; jintDeleteNum(int*,int,int);intmain()constint N = 998;intaN;for(inti=0; i 0) coutintmain()int a10=1,3,5,7,9,11,13,15

23、,17,19;int x;int lower=0,upper=9;int mid;coutx;while(lowerconst int max_row=3;const int max_col=4;void locate(const int matrixmax_rowmax_col,introw=0;col=0;for(row_ptr=0;row_ptrmatrixrowcol)row=row_ptr;col=col_ptr;return;int main()int matrixmax_rowmax_col;introw_ptr,col_ptr;introw,col;coutmatrixrow_

24、ptrcol_ptr;locate(matrix,row,col);coutmain()int a44,i,j,max,maxj,flag;coutaij;for(i=0;imain()int a=0,1,2,3,4,5,6,i,j,k;for(i=0;imain()int a6=1,2,3,4,5,6,i,j,k,l;for(i=0;i=0;j-)coutmain()int n,i,j,k,m;coutn;for(i=1;in;i+)for(j=i;jn;j+)coutj“ “;for(k=0;ki;k+)coutk“ “;coutendl;for(m=0;mn;m+)coutm“ “;coutendl;return0;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > C/C++资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报