c语言 程序设计 题库答案 p,《C语言程序设计》复习题库答案.doc
《C语言程序设计》复习题库答案.doc
C语言程序设计复习题库1、计算下面公式的值。T1/11/21/31/m 当m5时的结果(按四舍五入保留3位小数)。(注所有变量用float数据类型定义)答案1.717mainfloat T0,m,n1;form1;m5;mnn*m;TT1.0/n;printf.3fn,T;2、程序填空用*号输出字母C的图案。include stdio.hinclude conio.hmain_printf *n;getch; includestdio.hincludeconio.hmainprintf *n;printf*n;printf*n;printf *n;3、8232和9678,它们的个、十、百、千各位数字之和是15的倍数,823215,967830。编写程序,求四位数的所有奇数中,这样的数各位数字之和是15的倍数的总和。注所有变量用long数据类型定义 答案1533459long Zi_hanshulong shulong ge,shi,bai,qian;geshu10;shishu100/10;baishu1000/100;qianshu/1000;ifgeshibaiqian150return 1;else return 0;mainlong i,s0;fori1001;i9999;i2ifZi_hanshui1si;printf这样的数的总和是dn,s;4、 /*下面程序的功能是计算并输出700以内的最大的10个能被13或者17整除的自然数之和。请改正程序中的错误,并运行,最后给出程序运行的正确结果。(注只有一处错误)*/ 答案6591include stdio.hvoid main int total0, mc1, k700; int pm10,count0; while k2 mc10 if k130 k170 pmmc k; mc; k; for k1;k10;k total pmk-1; printf dn,total; 主函数中变量赋初值时mc1改为mc05、求x 11/51/71/9的近似值,直到最后一项的绝对值小于10-5为止。includemath.hmainint i5;float n1,x0;whilefabsn1e-5xn;n1.0/i;i2;printf11/51/71/9fn,x;6、计算如下公式的A20值。 A11, A21/1A1, A31/1A2, A41/1A3, (按四舍五入保留10位小数)。答案0.6180339850maindouble A11,A2;int i;fori1;i20;iA21.0/A11;A1A2;printfA20.10fn,A1;7、求10,1600之间能被7整除的奇数之和。答案90965mainint jishu,s0;forjishu11;jishu1600;jishu2ifjishu70sjishu;printfdn,s;8、函数mystrlenchar *s的功能是求字符串s的长度。请填空。Int mystrlenchar *sint num0;while ;return ;9、100,500之间同时满足除以7余5,除以5余3,除以3余1的整数之和。答案1042mainint shu,s0;forshu100;shu500;shuifshu75shu53shu31sshu;printfdn,s;10、求100,999之间所有的素数的个数。答案143int su_shuint shuint i;fori2;ishu;iifshui0return 0;elsereturn 1;mainint shu,n0;forshu100;shu999;shuifsu_shushu1n;printf素数的个数为d个n,n;11、编写程序,求满足下列条件的所有四位数ABCD的个数,该四位数是8的倍数,且ABBC,即第1位数加上第2位数等于第2位数加上第3位数。答案110mainint shu,n0;forshu1000;shu9999;shuifshu80ifshu/1000shu1000/100shu1000/100shu100/10n;printfdn,n;12、 /*数列1,2,1,4,7,12,23具有这样的特征,从第四项(也就是4)开始,每一项是前三项之和,4121,7214,12147.。下列程序的功能是求出该数列前10项的和。请改正程序中的错误,并运行修改后的程序,给出程序结果。(注只有一处错误)*/ 答案311include stdio.hvoid main long sum0,a301,2,1; int k,j; for k3;k10;k ak ak-1ak-2ak-3; for j1;j10;j sum aj; printf ldn,sum; forj1;j10;j改为forj0;j10;j或者forj0;j9;j因为前面赋值时数组下标是从0开始的13、 /*求1到2000之间的双胞胎数的对数。双胞胎数两素数差为2称为双胞胎数。例如227和229是一对双胞胎数,它们都是素数且差为2。*/ 答案61include stdio.hint primeint x int k; fork2;kx;k if break; ifkx return 1; else return 0;void main int a,b,n0; int primeint x; fora2;a1998;a ifprimea1 ba2; if n; printf d n,n;第一空ifxk0break;第二空ifprimeb1n;14、编写程序,统计200400之间的所有满足三个数字之积为42,三个数字之和为12的数的个数。答案4int PanDuanint shuint ge,shi,bai;geshu10;shishu100/10;baishu/100;ifge*shi*bai42geshibai12return 1;elsereturn 0;mainint shu,n0;forshu200;shu400;shuifPanDuanshu1n;printfdn,n;15、有30个学生一起买小吃,共花钱50元,其中每个大学生花3元,每个中学生花2元,每个小学生花1元,问大、中、小学生的人数分配共有多少种不同的解(去掉某类学生数为0的解)答案9mainint da,zhong,n0;forda1;da30-1-1;daforzhong1;zhong30-1-da;zhongif3*da2*zhong1*30-da-zhong50n;printfdn,n;16、爱因斯坦走台阶有一台阶,如果每次走两阶,最后剩一阶;如果每次走三阶,最后剩两阶;如果每次走四阶,最后剩三阶;如果每次走五阶,最后剩四阶;如果每次走六阶,最后剩五阶;如果每次走七阶,刚好走完.求满足上述条件的最小台阶数是多少答案119 ainint shu6;while1死循不断环判断shu;ifshu70shu65shu54shu43shu32shu21break;也可以使用标志位判断printfdn,shu;17、 /*求1000以内最大的10个素数的和。*/ 答案9664include stdio.hint primelong n long k; fork2;kn-1;k if return 0; return 1; void main long t,total0,num0; int primelong n; fort1000;t2;t if totaltotalt; num; ifnum10break; 第一空ifxk0break;第二空ifprimet1n; printfnld,total;18、 /*求123.7,7表示7的阶乘。*/ 答案5913include stdio.hlong jc long x long k,fac1; fork1;;k fac *k ; ;void main long n,sum0; long jclong x; forn1;n7;n ; printfnld,sum;第一空fork1;kx;k循环x次;累乘即为x的阶乘第二空return fac;返回阶乘值第三空sumsumjcn;阶乘值累加19、求10000以内所有完数之和,完数是指一个数如果刚好与它所有的真因子(不包括该数本身)之和相等,如6123,则6就是一个完数。注所有变量用int数据类型定义 答案8658 int PanDuanint shuint he0,i1;fori1;ishu;iifshui0hei;ifheshureturn 1;elsereturn 0;mainint i,s0fori0;i10000;iifPanDuani1si;printfdn,s;20、/*数列1,2,1,4,7,12,23具有这样的特征,从第四项(也就是4)开始,每一项是前三项之和,4121,7214,12147.。下列程序先给出数列的第一项(1)、第二项(2)、第三项(1),再逐步计算其它项并保存在数组a中,最后求出该数列的第25项。请改正程序中的错误,并运行修改后的程序,给出程序结果。(注只有一处错误)*/答案1323525include conio.hinclude stdio.hdefine N 30void main long aN; int k; clrscr; a0 1; a1 2; a21; for k3;k20;k ak ak-1ak-2ak-3; printf ldn,ak-1; fork3;k20;k改为fork3;k24;k因为第25项为a24循环出来后k25,故输出时应输出ak-121、/*求区间200,3000中所有回文数的和,回文数是正读与反读都是一样的数,如525,1551。*/ 答案87970include stdio.hint hwslong n long xn,t0,k; whilex0 kx10; t t*10 k; xx/10; if _ return 1; else return 0;void main long k,s0; int hwslong n; fork200; k2000;k if_ ssk; printfnld,s;第一空iftnreturn 1;t为n的倒序数,判断t和n是否相等来判断是否为回文数第二空ifhwsk1;或者直接ifhwsk;因为if里面非0为真,返回1时为真。此句判断是回文数则累加22、/*下面的程序是求表达式的值s11/31*2/3*51*2*3/3*5*7.1*2*3*.*n/3*5*7*.2*n1请将程序补充完整,并给出当n25时,程序的运行结果按四舍五入保留10位小数。*/答案1.5707963267include stdio.hdouble funint n double s1.0, t1.0; int k; double rtn1.0; fork1;kn; k t t*k; s s*2*k1; _ return rtn;void main double sum; printfn .10lf,sum;第一空rtnrtnt/s;第二空sumfun25;23、已知Sn2/13/24/3n1/n, 求Sn不超过50的最大值(按四舍五入的方式精确到小数点后第三位)。答案49.395 mainfloat Sn0,n0;whileSn50n;SnSnn1/n;SnSn-n1/n;跳出循环时Sn大于50,减去最后一次所加值即得符合要求的最大数printf.3fn,Sn;24、计算YX/1-X3/3X5/5-X7/7前20项的值已知X2。要求按四舍五入的方式精确到小数点后第二位。答案 0.91 /*开始总是调试不出,后来才意识到是程序中涉及到的数据很大,均设为双精度型变量*/includestdio.hdouble Midouble m,int n求m的n次方函数int i;double x1.0;fori1;in;ix*m;return x;double Jiechengint n求n的阶乘函数int i;double x1.0;fori1;in;ix*i;return x;mainint i;double y0,n;fori1;i20;i前20项nMi-1,i1*Mi2,2*i-1/Jiecheng2*i-1;各项大小Mi-1,i1控制符号,Mi2,2*i-1为幂分子,Jiecheng2*i-1为阶乘分母yn;各项和printf.2fn,y;四舍五入保留两位小数输出25、若某正整数平方等于某两个正整数平方之和,称该正整数为弦数。例324252,则5为弦数,求131,200之间最小的弦数。答案135 includestdio.h方法1mainint x,y,z;forz131;z200;z在131,200内查找forx1;x200;x循环给x赋值fory1;y200;y循环给y赋值ifz*zx*xy*ygoto End;只求满足条件的最小数,故一旦满足条件,则退出所有循环End退出循环printfdn,z;输出满足条件的最小数方法2/*mainint x,y,z,shu;forz131;z200;z在131,200内查找forx1;x200;x循环给x赋值fory1;y200;y循环给y赋值ifz*zx*xy*yshuz;保存满足条件的最小的数x201;y201;z201;通过赋值试循环结束只求满足条件的最小数,故一旦满足条件,则退出所有循环printfdn,shu;输出满足条件的最小数*/26、已知X,Y,Z为三个正整数,且X2Y2Z2252,求XYZ的最大值。答案43 includestdio.hmainint x,y,z,max0;forx1;x25;xfory1;y25;yforz1;z25;z循环对x、y、z赋值ifx*xy*yz*z25*25判断是否满足条件ifxyzmaxmaxxyz;取满足条件的所有各数和的最大值printfdn,max;输出满足条件的所有各数和的最大值27、猴吃桃有一天小猴子摘下了若干个桃子,当即吃掉一半,还觉得不过瘾,又多吃了一个。第二天接着吃了剩下的桃子中的一半,仍不过瘾,又多吃了一个。以后每天都是吃尚存桃子的一半零一个。到第10天早上小猴子再去吃桃子时,看到只剩下一个桃子了。问小猴子第一天共摘下了多少个桃子。答案1534 /*纯粹是个数学题,计算思路出来了,程度也就出来了*/includestdio.hmainint i,n1;n为剩余桃子个数,第十天为1个fori1;i9;i小猴子吃了9天的桃子n2*n1;前一天剩余的桃子数是今天剩余桃子数加1的两倍printfdn,n;输出第一天剩余的桃子数,即第一天小猴子摘下的桃子数28、求1,50之间的所有整数能构成直角三角形的三边的组数。例如3*34*45*5,它们构成直角三角形,所以3,4,5作为一组,但4,3,5视为跟3,4,5相同的一组。答案20 includestdio.hmainint a,b,c;定义三角形的三条边长度为整型变量int n0;定义组数,赋初值0初始化fora1;a50;a选择第一边forb1;b50;b选择第二边forc1;c50;c选择第三边此处不考虑所选择的三条边是否能构成三角形,因为不能构成三角形时必不满足直角三角形的条件,对程序结果无影响ifa*ab*bc*cn;判断是否满足构成直角三角形的条件,满足则n加1nn/2;a*ab*bc*c等式中,最长边c确定后补可改变,而a、b可互换值使等式成立, 此时组别均重复累加了一次,故最终需除以2(类比数学中排列组合例子)printfdn,n;输出满足条件的组数29、15元钱换成1元、2元、5元的票面,问有多少种不同的兑换方法输出所有的兑换方法。 答案 18种includestdio.hmainint i1,j1,k1,n0;printf兑换方法有n;printf1元/张 2元/张 5元/张n;fori0;i3;i5元的最多3账forj0;j7;j2元的最多7张fork0;k15;k1元的最多15张if5*i2*j1*k15printf4d 4d 4dn,k,j,i;n;如果满足条件,n加1printf共有d种兑换方法n,n;输出可兑换方法种数30、用迭代法求x等于a开平方的正数值。迭代公式为xn11/2*xna/xn,要求直到前后两次求出的x的差的绝对值小于10-5为止。A的值从键盘输入。includestdio.hincludemath.hmainfloat x,a,m;scanff,xa;domx;x1.0/2*xa/x;printffn,x;whilefabsx-m1e-5;printffn,x;31、求最大的水仙花数,所谓水仙花数,指的是一个三位数,其各个数字的立方之和等于该数。 答案407 includestdio.hint Shuiint x判断水仙花数子函数int ge,shi,bai;gex10;shix100/10;baix/100;分离个、十、百位ifxge*ge*geshi*shi*shibai*bai*bai判读是否是水仙花数return 1;是则返回1elsereturn 0;不是则返回0mainint i;fori999;i100;i三位数中找最大的水仙花数,从大到小找ifShuii判断是否是水仙花数,也可以写成ifShuii1,因if里面非0为真,可不写1printf最大的水仙花数为dn,i;break;找到最大水仙花数,打印并跳出循环32、一球从100米的高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第10次落地时,共经过多少米第10次反弹多高 答案 299.609375 0.097656 includestdio.hmainfloat s0,x100;x为落下高度,s为小球经过的总路程int i;fori1;i10;i反弹和下落设为一个来回,两者高度相等ss2*x;小球一个来回的距离为2*x,故总路程为每次反弹的高度两倍的总和x/2;小球每次反弹的高度是上次的一半s-100;由于第一次的100米只有落下没有反弹,故多加了100米,需减去printf小球共进过 f 米n,s;printf第10次反弹 f 米n,x;33、编写程序,完成如下功能,输入8个float类型的实数,分别求最大值和最小值,保留三位小数输出最大值和最小值。includestdio.hmainint i;float x;定义变量用于存放输入的float型数float max,min;定义两个变量存放最大数和最小数printf请输入8个float型数n;scanff,输入第一个数maxminx;给最大数和最小数赋初值fori1;i8;i还要输入7个数scanff,ifmaxxmaxx;找最大数else ifminxminx;找最小数printfThe max is .3fn,max;printfThe min is .3fn,min;/*也可以用数组的方式存放变量*/34、编写程序输出如下字符图形 mainint i,j;fori1;i11;i一共输出11行,i表示第i行forj1;j12-i;j第i行有12-i个printf;printfn;35、计算sf-30f-29f-1f0f1f30的值。其中函数定义如下fxx1/x-2 如果 x1; fx0 如果 x0 或 x2 ;fxx-1/x-2 如果 x0。按四舍五入保留6位小数 答案65.223018 includestdio.h /*总觉得题目给出的式子有问题,*/includestdio.hfloat fint xifx0return floatx-1/x-2;else ifx0 x2return 0.0;else return floatx1/x-2;mainfloat s0;int i;fori-30;i30;isfi;printf.6fn,s;36、编写程序输出如下字符图形(最后一行19颗星)* * * * * * * * * * * * * * * * includestdio.hmainint i,n;forn1;n9;n一共输出9行,n为行数fori1;i9-n;i第n行前面有9-n个空格printf ;fori1;i2*n1;i第n行一共有2*n1个“*”printf*;printfn;换行37、企业发放的奖金根据利润提成。利润I低于或等于10万元时,奖金可提10;利润高于10万元,低于20万元时,低于10万元的部分按10提成,高于10万元的部分,可提成7.5;20万到40万之间时,高于20万元的部分,可提成5;40万到60万之间时高于40万元的部分,可提成3;60万到100万之间时,高于60万元的部分,可提成1.5,高于100万元时,超过100万元的部分按1提成,从键盘输入当月利润I,求应发放奖金总数38、计算下面公式的值。 T11/2*31/3*41/m*m1,当m50时的结果(按四舍五入保留6位小数)。(注所有变量用double数据类型定义) 答案1.480392 includestdio.hmaindouble T0,m;form2;m50;m从第二项开始TT1/m*m1;累加printf.6fn,T1;结果加上第一项1输出39、程序填空输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。程序分析利用while语句,条件为输入的字符不为n.include stdio.hinclude conio.hmain char c; int letters0,space0,digit0,others0; printfplease some charactersn; whilecgetcharn ifcaczcAcZ _ else ifc _ else ifc0c9 _ else _ printfall in allchard spaced digitd othersdn,letters, space,digit,others; getch;第一空letters;第二空space;第三空digit;第四空others;40、打印出如下图案(菱形) * * * includestdio.hmainprintf *n;printf *n;printf *n;printf*n;printf *n;printf *n;printf *n;41、求出2,478以内的 1最大的素数。 *467 2素数数目。 *91 3所有素数之和。 *19580 includestdio.hint Sushuint x判断素数子函数int i;fori2;ix;iifxi0break;ifixreturn 0;else return 1;mainint x,n0,s0,max;x为待检测数,n为素数个数,s为所有素数和,max为最大的素数forx2;x478;x从小到大检测素数ifSushux1maxx;一直赋值给max,最后一次所赋的值即为最大的素数n;素数的个数累加sx;所有素数和累加printf1最大的素数是dn,max;printf2素数的数目为d个n,n;printf3所有的素数之和为dn,s;42、已知 1若N10,求Y 。 *1304735 2若N15
c语言 程序设计 题库答案 p,《C语言程序设计》复习题库答案.doc相关推荐
- 二级C语言编程题2010记事本,二级c的程序设计题作弊方法
二级c的程序设计题作弊方法 二级 c 的程序设计题作弊方法网上碰到有二级 c 的作弊方法,提到了通过更改 out.dat 文件的内容,达到作弊的目的,自己也在二级 c 语言的模拟考试环境下测试过,可用 ...
- c语言属于结构化程序设计语言,c语言填空题1.结构化程序设计语言的三种基本结构分别是,和.-查字典问答网...
c语言填空题 1.结构化程序设计语言的三种基本结构分别是,和. 2.C源程序的基本单位是______,一个C源程序中至少应包括一个______. 3.开发一个C程序要经过编辑.__________.连 ...
- 二级c语言 真题,全国计算机二级c语言历年真题完整版.doc
全国计算机二级c语言历年真题完整版.doc 2010年月全国计算机等级考试二级C笔试试卷 一.选择题(1) )对长度为的有序链表进行查找,最坏情况下需要的比较次数为 )对长度为的有序链表进行对分查找, ...
- 省二计算机二级vb程序设计题,江苏省计算机二级考试VB程序设计复习题(分类汇总)...
<VB程序设计>综合复习资料 一.填空题:(第一章 Visual Basic程序设计概述) 1.Visual Basic是一种面向_对象_的可视化程序设计语言,采取了__事件驱动__的编程 ...
- 高中信息技术c语言编程题,高中信息技术招聘C语言编程题精选.doc
C语言编程题精选 编程实现对键盘输入的英文名句子进行加密.用加密方法为,当内容为英文字母时其在26字母中的其后三个字母代替该字母,若为其它字符时不变. 编程实现将任意的十进制整数转换成R进制数(R在2 ...
- 工程制图计算机考试题库,2017年CAD期末考试复习题库「附答案」
2017年CAD期末考试复习题库「附答案」 一.是非题 1. 所有的图层都能被删除.(F) 2. 在绘图时,一旦打开正交方式ORTHO后,屏幕上只能画水平线和垂直线.(F) 3. 特殊点一定要在执行绘 ...
- 高中信息技术c语言编程题,高中信息技术招聘C语言编程题精选.pdf
高中信息技术招聘C语言编程题精选 C语言编程题精选 1.编程实现对键盘输入的英文名句子进行加密.用加密方法为,当内容为英文字母时其 在26字母中的其后三个字母代替该字母,若为其它字符时不变. 2.编程 ...
- 重庆中职计算机试题及答案,重庆市计算机专业高职复习题参考答案
<重庆市计算机专业高职复习题参考答案>由会员分享,可在线阅读,更多相关<重庆市计算机专业高职复习题参考答案(17页珍藏版)>请在人人文库网上搜索. 1.重庆市2010年计算机专 ...
- 自学考试c语言真题,自学考试《C语言程序设计》练习题及答案
if(s[p] ① ; } main() { int a[10],i,*k=&i; for(i=0;i<10;i++) scanf("%d",&a[i]); ...
- 自学考试c语言真题,自学考试《C语言程序设计》复习试题及答案
[4.44]求解爱因斯坦数学题.有一条长阶梯,若每步跨2阶,则最后剩余1阶,若每步跨3阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶,若每步跨7阶,最后才正好一阶不剩.请问,这 ...
最新文章
- 日期处理工具类 -【二】
- 漫画:什么是红黑树?
- MULLS:一种基于多尺度线性最小二乘的激光SLAM算法
- linux kill tl进程,【linux】kill ;杀死某一用户下的所有进程
- python代码案例详解-Python之入门基础字典案例详解,新手必学
- jdk 细粒度锁_使用JDK 8轻松进行细粒度排序
- 比较精确的js倒计时实现
- 上传大文件:在 System.Web.HttpRequest.GetEntireRawContent()
- css如何让背景透明,文字不透明
- 通过iMazing将Safari浏览器的书签导出至电脑
- 【趣文翻译】如何用各种编程语言杀死一条龙,PHP大亮 [转]
- Layui Ajax请求时加上 load 加载效果
- moodle安装过程中可能出现的问题
- js 导出 excel
- 利用Adobe Photoshop 2020导入和批量输出论文中的图片
- 森林防火监控系统解决方案
- magicbook linux系统换w7,荣耀 MagicBook U盘装系统win7教程
- 短信验证码测试点整理
- Java计算平均成绩
- 程序猿真的觉得写代码比女朋友重要吗?
热门文章
- MATLAB 手写签名拍照 转换黑白图片 方便插入文件签名
- js中如何访问对象和数组
- 《APUE.3E》用gdb调试ftw函数(图4-22)
- 幼儿园故事导入语案例_幼儿园老师上课常用导入语 课前活跃气氛用这11种方法就对了...
- ie visio 打开_visio viewer无法打开.vsdx格式的文件
- 服务器运维环境安全体系(上篇)
- Overflow during an arithmetic operation (type P) in program(数据溢出)
- leetcode 155. Min Stack最小栈(中等)
- Windows 10快速截图快捷键 (Windows徽标键+shift+S)
- 数据仓库开发之路之三--时间维度的创建