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

加入VIP,免费下载
 

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

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

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《C语言程序设计》复习题库.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《C语言程序设计》复习题库.docx

1、C语言程序设计复习题库 C语言程序设计复习题库1、计算下面公式的值。T=1/1!+1/2!+1/3!+1/m! 当m=5时的结果(按四舍五入保留3位小数)。(注:所有变量用float数据类型定义!) 2、程序填空:用*号输出字母C的图案。#include stdio.h#include conio.hmain()_printf( *n);_getch(); 3、8232和9678,它们的个、十、百、千各位数字之和是15的倍数,8+2+3+2=15,9+6+7+8=30。编写程序,求四位数的所有奇数中,这样的数(各位数字之和是15的倍数)的总和。(注:所有变量用long数据类型定义!) 4、 /

2、*下面程序的功能是:计算并输出700以内的最大的10个能被13或者17整除的自然数之和。请改正程序中的错误,并运行,最后给出程序运行的正确结果。(注:只有一处错误!)*/ #include void main() int total=0, mc=1, k=700; int pm10,count=0; while( (k=2) & mc=10 ) if (k%13=0) | (k%17=0) pmmc = k; mc+; k-; for( k=1;k=10;k+ ) total += pmk-1; printf( %dn,total); 5、求x = 1+1/5+1/7+1/9+的近似值,直到最

3、后一项的绝对值小于10-5为止。6、计算如下公式的A20值。 A1=1, A2=1/(1+A1), A3=1/(1+A2), A4=1/(1+A3), .(按四舍五入保留10位小数)。 7、求10,1600之间能被7整除的奇数之和。 8、函数mystrlen(char *s)的功能是求字符串s的长度。请填空。Int mystrlen(char *s)int num=0;while( ) _;return ( );9、100,500之间同时满足除以7余5,除以5余3,除以3余1的整数之和。 10、求100,999之间所有的素数的个数。 11、编写程序,求满足下列条件的所有四位数ABCD的个数,该

4、四位数是8的倍数,且A+B=B+C,即第1位数加上第2位数等于第2位数加上第3位数。 12、 /*数列1,2,1,4,7,12,23具有这样的特征,从第四项(也就是4)开始,每一项是前三项之和,4=1+2+1,7=2+1+4,12=1+4+7.。下列程序的功能是求出该数列前10项的和。请改正程序中的错误,并运行修改后的程序,给出程序结果。(注:只有一处错误!)*/ #include void main() long sum=0,a30=1,2,1; int k,j; for( k=3;k10;k+ ) ak = ak-1+ak-2+ak-3; for( j=1;j=10;j+ ) sum +=

5、 aj; printf( %ldn,sum); 13、 /*求1到2000之间的双胞胎数的对数。双胞胎数:两素数差为2称为双胞胎数。例如227和229是一对双胞胎数,它们都是素数且差为2。*/ #include int prime(int x) int k; for(k=2;kx;k+) if(_) break; if(k=x) return 1; else return 0;void main( ) int a,b,n=0; int prime(int x); for(a=2;a=1998;a+) if(prime(a)=1) b=a+2; if(_) n+; printf( %d n,n)

6、;14、编写程序,统计200400之间的所有满足三个数字之积为42,三个数字之和为12的数的个数。 15、有30个学生一起买小吃,共花钱50元,其中每个大学生花3元,每个中学生花2元,每个小学生花1元,问大、中、小学生的人数分配共有多少种不同的解(去掉某类学生数为0的解)? 16、爱因斯坦走台阶:有一台阶,如果每次走两阶,最后剩一阶;如果每次走三阶,最后剩两阶;如果每次走四阶,最后剩三阶;如果每次走五阶,最后剩四阶;如果每次走六阶,最后剩五阶;如果每次走七阶,刚好走完.求满足上述条件的最小台阶数是多少? 17、 /*求1000以内最大的10个素数的和。*/ #include int prime

7、(long n) long k; for(k=2;k=2;t-) if(_) total=total+t; num+; if(num=10)break; printf(n%ld,total);18、 /*求1!+2!+3!+.+7!,7!表示7的阶乘。*/ #include long jc( long x) long k,fac=1; for(k=1;_;k+) fac *=k ; _;void main( ) long n,sum=0; long jc(long x); for(n=1;n=7;n+) _; printf(n%ld,sum);19、求10000以内所有完数之和,完数是指:一个

8、数如果刚好与它所有的真因子(不包括该数本身)之和相等,如:6=1+2+3,则6就是一个完数。(注:所有变量用int数据类型定义!) 20、/*数列1,2,1,4,7,12,23具有这样的特征,从第四项(也就是4)开始,每一项是前三项之和,4=1+2+1,7=2+1+4,12=1+4+7.。下列程序先给出数列的第一项(1)、第二项(2)、第三项(1),再逐步计算其它项并保存在数组a中,最后求出该数列的第25项。请改正程序中的错误,并运行修改后的程序,给出程序结果。(注:只有一处错误!)*/ #include #include #define N 30void main() long aN; in

9、t k; clrscr(); a0 = 1; a1 = 2; a2=1; for( k=3;k=20;k+ ) ak = ak-1+ak-2+ak-3; printf( %ldn,ak-1); 21、/*求区间200,3000中所有回文数的和,回文数是正读与反读都是一样的数,如525,1551。*/ #include int hws(long n) long x=n,t=0,k; while(x0) k=x%10; t = t*10 + k; x=x/10; if( _) return 1; else return 0;void main( ) long k,s=0; int hws(long

10、 n); for(k=200; k=2000;k+) if(_) s=s+k; printf(n%ld,s);22、/*下面的程序是求表达式的值:s=1+1/3+(1*2)/(3*5)+(1*2*3)/(3*5*7)+.+(1*2*3*.*n)/(3*5*7*.(2*n+1)请将程序补充完整,并给出当n=25时,程序的运行结果(按四舍五入保留10位小数)。*/ #include double fun(int n) double s=1.0, t=1.0; int k; double rtn=1.0; for(k=1;k1; f(x)=0 如果 x=0 或 x=2 ;f(x)=(x-1)/(x-

11、2) 如果 x=a&c=A&c=0&c=9) _ else _ printf(all in all:char=%d space=%d digit=%d others=%dn,letters, space,digit,others); getch();40、打印出如下图案(菱形) * * * *41、求出2,478以内的: (1)最大的素数。 *467 (2)素数数目。 *91 (3)所有素数之和。 *1958042、已知: (1)若N=10,求Y 。 *1304735 (2)若N=15,求Y。 *1.184172E+0743、已知:, 其中:X = 0.25,n = 1,2,求:(1)Y值(精

12、确到小数点后第5位) *1.28767(2)与(1)匹配的最小的n *744、以下程序输入三个整数值给a,b,c,程序把b中的值给a,把c中的值给b,把a中的值给c,交换后输出a、b、c的值。例如:读入后,a=10、b=20、c=30;交换后,a=20、b=30、c=10。请填空。#includestdio.hmain()int a,b,c,t; printf(Enter a,b,c:); scanf(ddd, _); _;a=b;_;_; printf(a=d b=d c=dn,a,b,c);45下面fun函数的功能是从a数组中查找值为y的元素;若找到,返回该元素的下标值,若不存在值为y的元

13、素,返回0;数列放在a数组的a1到an中,a0元素用来作为临时存储单元。请填空。fun(int a,int y,int n)int k=0; a0=y;k=n; while( ) k-; return( );46、 /*下列程序的功能是求出二阶Fibonacci数列前10之和,1,1,2,3,5,8。请改正程序中的错误,并运行修改后的程序,给出程序结果。(注:只有一处错误!3是第四项,5是第五项。)*/ 答案:143#include void main() long sum=0,a30=1,1,2; int k; for( k=2;k10;k+ ) ak = ak-1+ak-2; for( k

14、=1;k=10;k+ ) sum += ak; printf( %ldn,sum); 47、20,160之间的所有偶数的平方和。 48、求10,2000之间能被2或3或5整除的数之和。 49、求800以内的最大的20个素数之和。 50、求当n=60时下式的和:s=1+1/(1+2)+1/(1+2+3)+.+1/(1+2+3+.+n)(按四舍五入保留6位小数)。 51、编写程序:输入x的值,按照下列公式计算cos(x)cos(x)=1-x2/2!+ x4/4!- x6/6!+. 精确到10-5。 C语言程序设计复习题库答案1、 计算下面公式的值。T=1/1!+1/2!+1/3!+1/m! 当m=

15、5时的结果(按四舍五入保留3位小数)。(注:所有变量用float数据类型定义!)答案:1.717#includemain()float i,T=0,a=1;for(i=1;i=5;i+) a=a/i;T+=a;printf(T=%.3f,T);2、 8232和9678,它们的个、十、百、千各位数字之和是15的倍数,8+2+3+2=15,9+6+7+8=30。编写程序,求四位数的所有奇数中,这样的数(各位数字之和是15的倍数)的总和。(注:所有变量用long数据类型定义!) 答案:1533459#includemain()long a,s=0;for(a=1000;a=9999;a+)if(a/

16、1000+a/100%10+a/10%10+a%10)%15=0&a%2=1)s+=a;printf(%ld,s);4、 /*下面程序的功能是:计算并输出700以内的最大的10个能被13或者17整除的自然数之和。请改正程序中的错误,并运行,最后给出程序运行的正确结果。(注:只有一处错误!)*/ 答案:6591 #include void main() int total=0, mc=0, k=700; int pm10,count=0; while( (k=2) & mc10 ) if (k%13=0) | (k%17=0) pmmc = k; mc+; k-; for( k=1;k=10;k

17、+ ) total += pmk-1; printf( %dn,total); 5、求x = 1+1/5+1/7+1/9+的近似值,直到最后一项的绝对值小于10-5为止。#include#includemain()float X=1,a,i=5;while(fabs(a)1e-5)a=1/i;i+=2;X+=a;printf(n X=%10.8f,X);6、计算如下公式的A20值。 A1=1, A2=1/(1+A1), A3=1/(1+A2), A4=1/(1+A3), .(按四舍五入保留10位小数)。答案:0.6180339850#includemain()double A=1,i;for(

18、i=1;i20;i+) A=1/(1+A);printf(%.10lf,A);7、求10,1600之间能被7整除的奇数之和。答案:90965#includemain()int i,s=0;for(i=10;i=1600;i+)if(i%7=0&i%2=1)s+=i;printf(%d,s);8、函数mystrlen(char *s)的功能是求字符串s的长度。请填空。Int mystrlen(char *s)int num=0;while( si=0 ) num+;return (num );9、100,500之间同时满足除以7余5,除以5余3,除以3余1的整数之和。答案:1042#includ

19、emain()int i,s=0;for(i=100;i=500;i+)if(i%7=5&i%5=3&i%3=1)s+=i;printf(%d,s);10、求100,999之间所有的素数的个数。答案:143#includemain()int i,j,n=0;for(i=100;i=999;i+)for(j=2;j=i-1;j+)if(i%j=0)break;if(j=i)n+;printf(%d,n);11、编写程序,求满足下列条件的所有四位数ABCD的个数,该四位数是8的倍数,且A+B=B+C,即第1位数加上第2位数等于第2位数加上第3位数。答案:110#includemain()int i

20、,n=0;for(i=1000;i=9999;i+)if(i%8=0&i/1000=i%100/10)n+;printf(%d,n);12、 /*数列1,2,1,4,7,12,23具有这样的特征,从第四项(也就是4)开始,每一项是前三项之和,4=1+2+1,7=2+1+4,12=1+4+7.。下列程序的功能是求出该数列前10项的和。请改正程序中的错误,并运行修改后的程序,给出程序结果。(注:只有一处错误!)*/ 答案:311#include void main() long sum=1,a30=1,2,1; int k,j; for( k=4;k10;k+ ) ak = ak-1+ak-2+a

21、k-3; for( j=1;j=10;j+ ) sum += aj; printf( %ldn,sum); 13、 /*求1到2000之间的双胞胎数的对数。双胞胎数:两素数差为2称为双胞胎数。例如227和229是一对双胞胎数,它们都是素数且差为2。*/ 答案:61#include int prime(int x) int k; for(k=2;kx;k+) if(x%k=0) break; if(k=x) return 1; else return 0;void main( ) int a,b,n=0; int prime(int x); for(a=2;a=1998;a+) if(prime(a)=1) b=a+2; if(prime(b)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1