《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相关推荐

  1. 二级C语言编程题2010记事本,二级c的程序设计题作弊方法

    二级c的程序设计题作弊方法 二级 c 的程序设计题作弊方法网上碰到有二级 c 的作弊方法,提到了通过更改 out.dat 文件的内容,达到作弊的目的,自己也在二级 c 语言的模拟考试环境下测试过,可用 ...

  2. c语言属于结构化程序设计语言,c语言填空题1.结构化程序设计语言的三种基本结构分别是,和.-查字典问答网...

    c语言填空题 1.结构化程序设计语言的三种基本结构分别是,和. 2.C源程序的基本单位是______,一个C源程序中至少应包括一个______. 3.开发一个C程序要经过编辑.__________.连 ...

  3. 二级c语言 真题,全国计算机二级c语言历年真题完整版.doc

    全国计算机二级c语言历年真题完整版.doc 2010年月全国计算机等级考试二级C笔试试卷 一.选择题(1) )对长度为的有序链表进行查找,最坏情况下需要的比较次数为 )对长度为的有序链表进行对分查找, ...

  4. 省二计算机二级vb程序设计题,江苏省计算机二级考试VB程序设计复习题(分类汇总)...

    <VB程序设计>综合复习资料 一.填空题:(第一章 Visual Basic程序设计概述) 1.Visual Basic是一种面向_对象_的可视化程序设计语言,采取了__事件驱动__的编程 ...

  5. 高中信息技术c语言编程题,高中信息技术招聘C语言编程题精选.doc

    C语言编程题精选 编程实现对键盘输入的英文名句子进行加密.用加密方法为,当内容为英文字母时其在26字母中的其后三个字母代替该字母,若为其它字符时不变. 编程实现将任意的十进制整数转换成R进制数(R在2 ...

  6. 工程制图计算机考试题库,2017年CAD期末考试复习题库「附答案」

    2017年CAD期末考试复习题库「附答案」 一.是非题 1. 所有的图层都能被删除.(F) 2. 在绘图时,一旦打开正交方式ORTHO后,屏幕上只能画水平线和垂直线.(F) 3. 特殊点一定要在执行绘 ...

  7. 高中信息技术c语言编程题,高中信息技术招聘C语言编程题精选.pdf

    高中信息技术招聘C语言编程题精选 C语言编程题精选 1.编程实现对键盘输入的英文名句子进行加密.用加密方法为,当内容为英文字母时其 在26字母中的其后三个字母代替该字母,若为其它字符时不变. 2.编程 ...

  8. 重庆中职计算机试题及答案,重庆市计算机专业高职复习题参考答案

    <重庆市计算机专业高职复习题参考答案>由会员分享,可在线阅读,更多相关<重庆市计算机专业高职复习题参考答案(17页珍藏版)>请在人人文库网上搜索. 1.重庆市2010年计算机专 ...

  9. 自学考试c语言真题,自学考试《C语言程序设计》练习题及答案

    if(s[p] ① ; } main() { int a[10],i,*k=&i; for(i=0;i<10;i++) scanf("%d",&a[i]); ...

  10. 自学考试c语言真题,自学考试《C语言程序设计》复习试题及答案

    [4.44]求解爱因斯坦数学题.有一条长阶梯,若每步跨2阶,则最后剩余1阶,若每步跨3阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶,若每步跨7阶,最后才正好一阶不剩.请问,这 ...

最新文章

  1. 日期处理工具类 -【二】
  2. 漫画:什么是红黑树?
  3. MULLS:一种基于多尺度线性最小二乘的激光SLAM算法
  4. linux kill tl进程,【linux】kill ;杀死某一用户下的所有进程
  5. python代码案例详解-Python之入门基础字典案例详解,新手必学
  6. jdk 细粒度锁_使用JDK 8轻松进行细粒度排序
  7. 比较精确的js倒计时实现
  8. 上传大文件:在 System.Web.HttpRequest.GetEntireRawContent()
  9. css如何让背景透明,文字不透明
  10. 通过iMazing将Safari浏览器的书签导出至电脑
  11. 【趣文翻译】如何用各种编程语言杀死一条龙,PHP大亮 [转]
  12. Layui Ajax请求时加上 load 加载效果
  13. moodle安装过程中可能出现的问题
  14. js 导出 excel
  15. 利用Adobe Photoshop 2020导入和批量输出论文中的图片
  16. 森林防火监控系统解决方案
  17. magicbook linux系统换w7,荣耀 MagicBook U盘装系统win7教程
  18. 短信验证码测试点整理
  19. Java计算平均成绩
  20. 程序猿真的觉得写代码比女朋友重要吗?

热门文章

  1. MATLAB 手写签名拍照 转换黑白图片 方便插入文件签名
  2. js中如何访问对象和数组
  3. 《APUE.3E》用gdb调试ftw函数(图4-22)
  4. 幼儿园故事导入语案例_幼儿园老师上课常用导入语 课前活跃气氛用这11种方法就对了...
  5. ie visio 打开_visio viewer无法打开.vsdx格式的文件
  6. 服务器运维环境安全体系(上篇)
  7. Overflow during an arithmetic operation (type P) in program(数据溢出)
  8. leetcode 155. Min Stack最小栈(中等)
  9. Windows 10快速截图快捷键 (Windows徽标键+shift+S)
  10. 数据仓库开发之路之三--时间维度的创建