ImageVerifierCode 换一换
格式:DOC , 页数:30 ,大小:116.50KB ,
资源ID:5957914      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/5957914.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(C--程序设计与题集(含解答).doc)为本站上传会员【仙人****88】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C--程序设计与题集(含解答).doc

1、本学期《程序设计基础》课程实行上机考核,现将考核有关事项通知如下: (1) 考核时间:本学期最后一次上机时间为机试。 (2) 考核内容:C++面向过程部分,主要是算法设计与实现。考题来自本学期布置的作业、部分例题及一些补充的题目。 (3) 考试形式:机试前进入机房时,每人随机抽取一道题(同一个班的同学保证不抽到同一题),然后上机编程,调试通过后报告监考人员审核,审核通过后将源程序拷贝到监考人员U盘上,然后可以离开机房。源程序文件明必须是“学号姓名.cpp”,如“2012211532刘天.cpp”。   (4) 考试要求:机试时考试规则同课堂考试一致,不允许带书、纸张等。不能携带任何可用

2、计算机处理的软件或数据(不允许任何私人携带的U盘、磁盘或计算器) ,不能携带任何类型的通讯工具,包括无线电接收器、移动电话。 (5) 考试成绩:本次机试成绩将在《程序设计基础》课程成绩中占25%的比重。 (6) 其它有关事项由主考教师与监考人员负责处理。 附:考试题集 1. 利用异或运算对输入的文本进行加密解密输出,用户输入一个文本(字符串,设不超过20个字符),然后输入作为密钥的字符,程序输入加密及解密的字符串。 2. 编写一个程序,用户输入年份及月份两个数据,程序输出该月份的天数。(提示:对2月要考虑是否闰年,闰年年份要么能被4整除且不能被100整除,要么能被400整除,除次

3、之外都不是闰年)。 3. 某大桥按不同型号征收车辆过桥费:自行车免费,摩托车2元,小汽车5元,大客车与货车8元,货柜车12元。编写一个程序,按车辆的不同型号计算通过该大桥应征的过桥费。(提示:可以用整数对不同型号的车辆进行编码) 4. 输入一位同学的考试成绩,若是90~100分,输出“Excellent”,80~89输出“Very good”,70~79输出“Good”,60~69输出“Pass”,60分以下输出“No Pass”。 5. 旅行社的订票量小于10张时,航空公司给予10%的折扣;订票量大于或等于10张且小于20张时,航空公司给予15%的折扣;订票量大于或等于20张且小于30

4、张时,航空公司给予30%的折扣;订票量大于或等于30张时,航空公司给予最高的45%的折扣。编程输入订票张数及单张机票票价,程序输出折扣率及应付款额。 6. 用户输入一个整数流(输入1000表示数据输入结束),如 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级;若

5、每步走3级则最后剩2级;若以每步走4级则最后剩3级;若以每步走5级则最后剩4级;若以每步走6级则最后剩5级;若以每步走7级则最后刚好不剩。问台阶共有几级? 9. 公鸡5元1只,母鸡3元1只,小鸡1元3只,花了100元钱买100只鸡,问公鸡、母鸡、小鸡各多少只? 10. 编程实现解决下述问题的算法:一位顾客在购物时,如果买4个苹果剩下4角钱.如果买5个苹果则缺5角钱,请问,该顾客带了多少钱?多少钱可以头一个苹果? 11. 编写程序.计算100之内可以被13整除的自然数之与。 12. 键盘输入m与n(10

6、序打印乘法口诀表。 14. 编程实现求解最大公约数的欧几里德算法,用户输入两个任意正整数,程序输出他们的最大公约数。算法如下: 步骤1: 如果p < q,则交换p与q。 步骤2: 令r是p / q 的余数。 步骤3: 如果r = 0,则令g = q并终止; 否则令p = q, q = r并转向步骤2 15. 求不超过正整数n的2的最大幂值,如输入17,程序应输出4(24=16<17)。 16. 有关专家十分关注珠江渔业资源的问题。目前珠江中大约有8000万条鱼,平均每年以3.5%的速度减少。请编写一个程序,计算在多少年之后鱼的数目下降到目前的一半?多少年后下降到目前的十分之一?

7、提示注意整数类型的取值范围)。 17. 编程求解一元二次方程ax2+bx+c=0的根。要求:设计完备的测试数据集,考虑a, b, c各种取值对根的影响。 18. 编写一个程序,输入全班同学某门课考试成绩,计算平均成绩并找出其中最高分与最低分。(提示:批量数据通常不事先规定输入的数据数量,而是以一个特殊的标志作为输入结束。程序根据结束标志统计人数) 19. 编一程序模拟整数加、减、乘、除四则运算。当你在键盘上输入 5+6 后,程序将输出=11,当你在键盘上输入11*7后,程序将输出=77。 20. 把一张1元钞票换成1分、2分与5分的硬币,每种至少有1枚,问有多少种换法? 21.

8、 求自然对数底(e)的近似值。e的近似值计算公式为: 当余项rn<ε时停止计算。设ε=1e-8 22. S==1!+2!+…+7! 23. S=1×2+3×4+5×6+…+39×40 24. Y=X-+-+…+(-1)n+1+…的值,精确到10-6。 25. 编制一个程序,读入一个正整数,并反向输出。例如,读入123,输出是321。 26. 水仙花数问题:水仙花数是一种三位数,它的值等于每个数字的立方与。例如,153=13+53+33。编程输出小于999的水仙花数。 27. 求一整数的等差数列,该数列满足下述条件:头4项数的与值为26,积值为880。(提示:该数列公差为正整数,否

9、则数列将出现负数;该数列的首项必须小于5,且其公差也小于5,否则头四项数的与将大于26。) 28. 完数问题:若有一数,其值等于它的因子之与,则该数称为完数。例如,6的因子为1、2、3,而6=1+2+3,故6是完数。编程输出1000之内的所有完数及其因子。 29. 100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马2匹驮1担。试编程计算大、中、小马的数目。 30. 编程产生出1到10以内的所有数对并输出,其中i>j。 31. 编程求出1000以内的所有符合如下条件的数:其高位数字小于低位数字。如12,238等。但21,548不符合条件。 32. 求任一整数N的标准

10、分解式,即素数因子之积。例如16=2*2*2*2, 15=3*5。 33. 斐波那契(Fibonacci)数列问题:Fibonacci数列递归定义为: x0=0, x1=1, xi+1=xi+xi-1, i=2,3,… 即从第二项开始,数列中的每一个元素等于前面两个元素之与。编程输出前20项Fibonacci数。(提示可以用递归或迭代两种方式编程) 34. 打印下面图形。 1 1 3 1 1

11、 3 5 3 1 1 3 5 7 5 3 1 1 3 5 7 9 7 5 3 1 … … … … … … … 1 3 … … 21 … … … 3 1 35. 打印如下图形 A B C D E B C D E A C D E

12、 A B D E A B C E A B C D 36. 正读与反读都一样的数称为回文数。编写程序输入一个整数max_num,输出从0到max_num中用二进制表示与十进制表示都是回文数的整数。定义一个函数is_circle_num()判断一个数(number)在某个进制(radius)下是否为回文数。例如,整数313就是该程序输出的一个数,因为它的二进制表示为10011001。 37. 编写一个递归函数:将一个整数转换为响应的字符串并输出,函数原型可声明为:void int2str(int number)。 38. 用函数实现将一个以字符串形式

13、表示的十六进制数转换为一个十进制整数。例如,输入”A2”转换为162。 39. 编写一个将十进制整数转换为十六进制字符串的函数。 40. 编写出判断一个整数是否为素数的函数,并求出在2000以内的有十个以上的所有连续的非素数组。 41. 编制一个程序,统计从标准输入设备上输入的字符流(以?结束)中每个英文字母(大小写不分开计)出现的次数。 42. 编程实现“冒泡排序算法”,将输入的若干整数由小到大(升序)排序输出。要求定义一个排序函数,其原型是void bubble(int data[], int length)。 43. 给定含有m+n个元素的整型数组A(其中m>0, n>0),它

14、分为两个互不重叠的,长度分别为m与n的子数组段,写出交换这两个子数组段的程序,要求不引入数组A以外的数组,但可引入若干中间变量。 44. 用数组存储数据,实现筛选法求素数问题的求解。要求求出2到1000之间的所有素数。 筛选法求出2~N间的所有素数的方法是:首先将这些数全部放入一个数组中,然后重复下面的操作直到数组为空为止: a.找出其中的最小数K,则K一定是一个素数,因此可输出。 b.从数组中删除K及其所有倍数。 45. 编程实现二分查找算法。二分(折半)查找(搜索)算法如下: 数组 a 中的 n 个数从大到小(降序)的顺序排列,要检索一个数 x

15、是否在 a 中,折半查找算法的思路是: 设查找区间为[lower, upper],初值lower=0, upper=n-1; 算法步骤: (1)输入数组 a 的元素及 x; (2)x 是否为 a 的第一或最后一个元素。若是其中之一,算法结束; (3)将区间两等分为[lower, mid]与[mid, upper],mid为区间中点,每次取出中间项进行检查,若 x=a[mid],x 被检索到,算法结束;若 xa[mid],则在前半区间 [lower, mid] 内重复折半检索。反复执行上述步骤,

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

17、 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 49. 编程产生下列数组,并输出 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 1 50. 编程产生下列数组,并输出。

18、 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-1 1. //加密字符串 #include void main() { char a[21],b,key; cout<<"请输入字符串与密钥:"; cin>>

19、a>>b; for(int i=0;a[i]!=0;i++){ a[i]=a[i]^b; } cout<<"加密后:"; for(int k=0;a[k]!=0;k++){ cout<>key; for(int j=0;a[j]!=0;j++){ a[j]=a[j]^key; } fo

20、r(int g=0;a[g]!=0;g++){ cout< main() { int year,month,days; cout<<"请输入年份,月份:"; cin>>year>>month; if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){

21、 days=31; cout<

22、29; cout< main() { intkind; cout<<"1.自行车\n"; cout<<"2.摩托车\n"; cout<<"3.

23、小汽车\n"; cout<<"4.大货车或客车\n"; cout<<"5.货柜车\n"; cout<<"请输入汽车种类:"; cin>>kind; switch(kind){ case 1: cout<<"the fee is:0 yuanonce."<

24、e."< main() { int marks; cout<<"输入考试成绩:"; cin>>marks; switch(marks/10){ case 10:case 9: cout<<"Excellent\n";b

25、reak; case 8: cout<<"VeryGood\n";break; case 7: cout<<"Good\n";break; case 6: cout<<"Pass\n";break; default : cout<<"NoPass\n"; } return0; } 5. //旅行社折扣 #include main() { int num,price;

26、 float discount,total_price; cout<<"输入购买张数与单价:"; cin>>num>>price; switch(num/10){ case 0: discount=0.1;break; case 1: discount=0.15;break; default: discount=0.3; } total_price=num*price*(1-discount); cout<<"总价格为:"<

27、urn0; } 6. //输入数流 #include main() { int a[100],i,j,x=0,y=0,z=0; cout<<"输入数流(以1000结束):"; for(i=0;;i++){ cin>>a[i]; if(a[i]==1000) break; } for(j=0;a[j]!=1000;j++){ if(a[j]==-1) x++; i

28、f(a[j]==0) y++; if(a[j]==1) z++; } cout<<"该数流中含-1:"< main() { int x,i,n; cout<<"输入整数:"; l: cin>>x; if(x<0){

29、 cout<<"输入有误!请重新输入:"; goto l; } n=x; for(i=0;n%2==0;i++){ n/=2; } cout<<"整数"< main() { int i,n; for(i=7;!(i%2==1&&i%3==2&&i%4==3&&i%5==4&&i%

30、6==5);i+=7){ n=i; } cout<<"最小可能值是:"< main() { int cock,hen,chicken,price; for(cock=0;cock<=20;cock++){ for(hen=0;hen<=33;hen++){ chicken=100-cock-hen; if(chicken%3==0&&

31、5*cock+3*hen+chicken/3==100) cout<<"符合条件的有公鸡"< main() { int money,i,m,n; for(i=1;;i++){ if(4+4*i==5*i-5){ cout<<"money="<<4+

32、4*i<<""<<"price="< main() { int n,i,j,s=0; for(i=1;i<=100;i++){ if(i%13==0) s+=i; else continue;

33、 } cout<<"100以内可以被13整除的自然数之与为:"< #include intf(int n) { int a,x,i,b; x=sqrt(n); if(n==2||n==3) b=1; else for(i=2;i<=x;i++){ if(n%i==0){ b=0; b

34、reak; } else if(i==x) b=1; else continue; } return b; } main() { int m,n,x,i,j; static int k=0; l: cout<<"输入m,n (其中10>m>>n; if(m<=10||m>=n||n>32000){ cout<<"输入数据有误!请再";

35、 goto l; } for(i=m;i<=n;i++){ if(f(i)){ cout< main() { in

36、t i,j; for(i=1;i<=9;i++){ for(j=1;j<=i;j++)cout< main() { int m,n,temp; cout<<"输入两个整数:"; cin>>m>>n; temp=m

37、m; n=temp; for(;;){ temp=m%n; if(temp){ m=n; n=temp; } else{ cout<<"最大公约数是:"< #include main() {

38、 int n,i; cout<<"请输入正整数n:"; cin>>n; for(i=0;pow(2,i)<=n;i++){} cout<<"满足条件的值为:"< #include void main() { const double fishnum=800000000; double fnum=fishnum; int n=1; while(fn

39、um>=fishnum/2){ fnum=fnum*(1-0.035); n++; } cout<<"当鱼的数目等于原来的一半时,需要"<=fishnum/10){ fnum=fnum*(1-0.035); n++; } cout<<"当鱼的数目等于原来的十分之一时,需要"

40、< #include main() { float a,b,c; cout<<"请输入a,b,c:"; cin>>a>>b>>c; float t=b*b-4*a*c; if(a==0)if(b==0)if(c==0)cout<<"方程根为一切实数"<

41、c/b<0) cout<<"根x1="<<(-b+sqrt(b))/(-2*a)<

42、a)<<")i"< main() { int a[100],i,j,max,min,s=0; cout<<"输入同学成绩(以1000结束):"; for(i=0;;i++){ cin>>a[i]; if(a[i]==1000) break; if(i==0){ max=a[0];

43、 min=a[0]; } max=max>a[i]?max:a[i]; min=min main() { int

44、a,b; char x; cout<<"请输入算式:"<>a>>x>>b; if(x=='+')cout<<"="<

45、n0; } 20. //兑钱 #include main() { int i,j,k,m=0; for(i=1;i<=20;i++){ for(j=1;j<=50;j++){ k=100-5*i-2*j; if(k>=1) { m+=1; //cout<<"i="< #include main() { int i; double temp=1,sum=0; for(i=1;temp>=1e-8;i++){ sum+=temp; temp/=i; } cout<<"e=1+1/1!+1/2!+1/3!+....="<

47、dl; } 22. //求1!+2!~~+7! #include intf(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;i<=7;i++) { s+=f(i); } cout<<"结果是:"<

48、39×40 #include main() { int i,s=0; for(i=1;i<=39;i+=2){ s+=i*(i+1); } cout<<"结果是:"< #include main() { int i,x; cout<<"输入整数x:"; cin>>x; dou

49、ble temp=x,s=0; for(i=1;fabs(temp)>=1e-6;i+=2){ s+=temp; temp=temp*(-x*x)/((float)(i+1)*(i+2)); } cout<<"结果是:"< #include main() { int x,i,j; cout<<"输入整数x:";

50、 cin>>x; for(i=0;;i++) if(x/(int)pow(10,i)==0)break; int a[100]; for(j=0;j

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服