




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 C语言程序设计复习题库1、计算下面公式的值。T=1/1!+1/2!+1/3!+1/m! 当m=5时的结果按四舍五入保留3位小数。注:所有变量用float数据类型定义!答案:1.7172、程序填空:用*号输出字母C的图案。#include "stdio.h"#include "conio.h"main()_ printf(" *n"); _ getch(); 3、8232和9678,它们的个、十、百、千各位数字之和是15的倍数,8+2+3+2=15,9+6+7+8=30。编写程序,
2、求四位数的所有奇数中,这样的数(各位数字之和是15的倍数)的总和。(注:所有变量用long数据类型定义!) 答案:15334594、 /*下面程序的功能是:计算并输出700以内的最大的10个能被13或者17整除的自然数之和。请改正程序中的错误,并运行,最后给出程序运行的正确结果。注:只有一处错误!*/ 答案:6591#include <stdio.h>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
3、) 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+的近似值,直到最后一项的绝对值小于10-5为止。6、计算如下公式的A20值。 A1=1, A2=1/(1+A1), A3=1/(1+A2), A4=1/(1+A3), .按四舍五入保留10位小数。答案:0.61803398507、求10,1600之间能被7整除的奇数之和。答案:909658、函数mystrlen(char *s)的功能是求字符串s的长度。请填空。Int m
4、ystrlen(char *s)int num=0;while( ) _;return ( );9、100,500之间同时满足除以7余5,除以5余3,除以3余1的整数之和。答案:104210、求100,999之间所有的素数的个数。答案:14311、编写程序,求满足以下条件的所有四位数ABCD的个数,该四位数是8的倍数,且A+B=B+C,即第1位数加上第2位数等于第2位数加上第3位数。答案:11012、 /*数列1,2,1,4,7,12,23具有这样的特征,从第四项也就是4开始,每一项是前三项之和,4=1+2+1,7=2+1+4,12=1+4+7.。以下程序的功能是求出该数列前10项的和。请改正
5、程序中的错误,并运行修改后的程序,给出程序结果。注:只有一处错误!*/ 答案:311#include <stdio.h>void main() long sum=0,a30=1,2,1; int k,j; for( k=3;k<10;k+ ) ak = ak-1+ak-2+ak-3; for( j=1;j<=10;j+ ) sum += aj; printf(" %ldn",sum); 13、 /*求1到2000之间的双胞胎数的对数。双胞胎数:两素数差为2称为双胞胎数。例如227和229是一对双胞胎数,它们都是素数且差为2。*/ 答案:61#incl
6、ude <stdio.h>int prime(int x) int k; for(k=2;k<x;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);14、编写程序,统计200400之间的所有满足三个数字之积为42,三个数字之和为12的数的个数。答案:415、有30个学生一起买小吃
7、,共花钱50元,其中每个大学生花3元,每个中学生花2元,每个小学生花1元,问大、中、小学生的人数分配共有多少种不同的解去掉某类学生数为0的解?答案:916、爱因斯坦走台阶:有一台阶,如果每次走两阶,最后剩一阶;如果每次走三阶,最后剩两阶;如果每次走四阶,最后剩三阶;如果每次走五阶,最后剩四阶;如果每次走六阶,最后剩五阶;如果每次走七阶,刚好走完.求满足上述条件的最小台阶数是多少?答案:11917、 /*求1000以内最大的10个素数的和。*/ 答案:9664#include <stdio.h>int prime(long n) long k; for(k=2;k<=n-1;k
8、+) if(_) return 0; return 1; void main( ) long t,total=0,num=0; int prime(long n); for(t=1000;t>=2;t-) if(_) total=total+t; num+; if(num=10)break; printf("n%ld",total);18、 /*求1!+2!+3!+.+7!,7!表示7的阶乘。*/ 答案:5913#include <stdio.h>long jc( long x) long k,fac=1; for(k=1;_;k+) fac *=k ;
9、_;void main( ) long n,sum=0; long jc(long x); for(n=1;n<=7;n+) _; printf("n%ld",sum);19、求10000以内所有完数之和,"完数"是指:一个数如果刚好与它所有的真因子不包括该数本身之和相等,如:6=1+2+3,则6就是一个完数。(注:所有变量用int数据类型定义!) 答案:865820、/*数列1,2,1,4,7,12,23具有这样的特征,从第四项也就是4开始,每一项是前三项之和,4=1+2+1,7=2+1+4,12=1+4+7.。以下程序先给出数列的第一项1、第二
10、项2、第三项1,再逐步计算其它项并保存在数组a中,最后求出该数列的第25项。请改正程序中的错误,并运行修改后的程序,给出程序结果。注:只有一处错误!*/答案:1323525#include <conio.h>#include <stdio.h>#define N 30void main() long aN; int 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中所
11、有回文数的和,回文数是正读与反读都是一样的数,如525,1551。*/ 答案:87970#include <stdio.h>int hws(long n) long x=n,t=0,k; while(x>0) 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 n); for(k=200; k<=2000;k+) if(_) s=s+k; printf("n%ld",s);22、/*下面的程序是求表达式的值
12、: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位小数)。*/答案:1.5707963267#include <stdio.h>double fun(int n) double s=1.0, t=1.0; int k; double rtn=1.0; for(k=1;k<=n; k+) t = t*k; s = s*(2*k+1); _ return rtn;void main() double sum; _ printf
13、("n %.10lf",sum);23、已知:Sn=2/1+3/2+4/3+(n+1)/n, 求Sn不超过50的最大值按四舍五入的方式精确到小数点后第三位。答案:49.39524、计算Y=X/1!-X3/3!+X5/5!-X7/7!+前20项的值(已知:X=2)。要求:按四舍五入的方式精确到小数点后第二位。答案: 0.9125、假设某正整数平方等于某两个正整数平方之和,称该正整数为弦数。例:32+42=52,则5为弦数,求131,200之间最小的弦数。答案:13526、已知X,Y,Z为三个正整数,且X2+Y2+Z2=252,求X+Y+Z的最大值。答案:4327、猴吃桃:有一
14、天小猴子摘下了假设干个桃子,当即吃掉一半,还觉得不过瘾,又多吃了一个。第二天接着吃了剩下的桃子中的一半,仍不过瘾,又多吃了一个。以后每天都是吃尚存桃子的一半零一个。到第10天早上小猴子再去吃桃子时,看到只剩下一个桃子了。问小猴子第一天共摘下了多少个桃子。答案:153428、求1,50之间的所有整数能构成直角三角形的三边的组数。例如:3*3+4*4=5*5,它们构成直角三角形,所以3,4,5作为一组,但4,3,5视为跟3,4,5相同的一组。答案:2029、15元钱换成1元、2元、5元的票面,问有多少种不同的兑换方法?输出所有的兑换方法。 答案: 18种30、用迭代法求x等于a开平方的正数值。迭代
15、公式为:xn+1=1/(2*(xn+a/xn),要求直到前后两次求出的x的差的绝对值小于10-5为止。A的值从键盘输入。31、求最大的水仙花数,所谓水仙花数,指的是一个三位数,其各个数字的立方之和等于该数。 答案:40732、一球从100米的高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第10次落地时,共经过多少米?第10次反弹多高? 答案: 299.609375 0.09765633、编写程序,完成如下功能,输入8个float类型的实数,分别求最大值和最小值,保留三位小数输出最大值和最小值。34、编写程序输出如下字符图形: 35、计算:s=f(-30)+f(-29)+.+f(-1
16、)+f(0)+f(1)+.+f(30)的值。其中函数定义如下:f(x)=(x+1)/(x-2) 如果 x>1; f(x)=0 如果 x=0 或 x=2 ;f(x)=(x-1)/(x-2) 如果 x<0。(按四舍五入保留6位小数) 答案:65.22301836、编写程序输出如下字符图形最后一行19颗星:* * * * * * * * * * * * * * * * * * *37、企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于2
17、0万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?38、计算下面公式的值。 T=1+1/(2*3)+1/(3*4)+1/(m*(m+1),当m=50时的结果按四舍五入保留6位小数。注:所有变量用double数据类型定义! 答案:1.48039239、程序填空:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。程序分析:利用while语句,条件为输入的字符不为'n'.#include &q
18、uot;stdio.h"#include "conio.h"main() char c; int letters=0,space=0,digit=0,others=0; printf("please input some charactersn"); while(c=getchar()!='n') if(c>='a'&&c<='z'|c>='A'&&am
19、p;c<='Z') _ else if(c=' ') _ else if(c>='0'&&c<='9') _ else
20、 _ 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
21、(2)假设N=15,求Y。 *1.184172E+0743、已知:, 其中:X = 0.25,n = 1,2,求:(1) Y值精确到小数点后第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", _); _;
22、a=b;_;_; printf("a=d b=d c=dn",a,b,c);45下面fun函数的功能是从a数组中查找值为y的元素;假设找到,返回该元素的下标值,假设不存在值为y的元素,返回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是第五项。*
23、/ 答案:143#include <stdio.h>void main() long sum=0,a30=1,1,2; int k; for( k=2;k<10;k+ ) ak = ak-1+ak-2; for( k=1;k<=10;k+ ) sum += ak; printf(" %ldn",sum); 47、20,160之间的所有偶数的平方和。答案:69438048、求10,2000之间能被2或3或5整除的数之和。答案:6779549、求800以内的最大的20个素数之和。答案:1451050、求当n=60时下式的和:s=1+1/(1+2)+1/(
24、1+2+3)+.+1/(1+2+3+.+n)按四舍五入保留6位小数。答案:1.96721451、编写程序:输入x的值,按照以下公式计算cos(x)cos(x)=1-x2/2!+ x4/4!- x6/6!+. 精确到10-5。/*C11.717*/main()int i;long jc=1;float s=0;for(i=1;i<=5;i+) jc=jc*i; s=s+1.0/jc; printf("%f",s); /*C3 1533459*/main()long i,c=0,t=0,g,s,b,q;for(i=1001;i<=9999;i=i+2) g=i%10
25、; s=i/10%10; b=i/100%10; q=i/1000; if(g+s+b+q)%15=0) c+; t=t+i; printf("%ld",t); /*C4 6591*/main() int i,s=0,c=0; for(i=700;i>=1;i-) if(i%13=0|i%17=0) c+; s+=i; if(c=10)break; printf("%d",s); /*C5 6.058311*/main() long i=5; double s=1; while(1.0/i>=1e-5) s=s+1.0/i; i=i+2; p
26、rintf("%lf",s); /*C6 0.6180339850 */main()int i;double a=1;for(i=2;i<=20;i+) a=1.0/(1+a); printf("%.10lf",a); /*C7 90965*/main()long i,s=0;for(i=11;i<=1600;i=i+2) if(i%7=0) s=s+i;printf("%ld",s); /*C9 1042 */main()long i,s=0;for(i=100;i<=500;i+) if(i%5=3&&a
27、mp;i%7=5&&i%3=1) s=s+i;printf("%ld",s); /*C10 143*/main()int c=0,i,j,p;for(i=100;i<=999;i+) p=1; for(j=2;j<i;j+) if(i%j=0)p=0;break; if(p=1)c+; printf("%d",c); /*C11 110*/main()int c=0,i,q,b,s;for(i=1000;i<=9999;i=i+8) q=i/1000; b=i/100%10; s=i/10%10; if(q+b=b+s)
28、c+; printf("%d",c); /*C13 61*/#include"fun.c"main( )int a,b,n=0;int prime(int x); for(a=2;a<=1998;a+) if(prime(a)=1&&prime(a+2)=1) n+;printf("%d",n); /*C14 4*/main()int c=0,i,g,s,b;for(i=200;i<=400;i+) g=i%10; s=i/10%10; b=i/100; if(g+s+b=12&&g*s*b
29、=42) c+; printf("%d",c); /*C15 9*/main()int d,z,x,c=0;for(d=1;d<=17;d+) for(z=1;z<=25;z+) x=30-d-z; if(x>=0&&d*3+z*2+x=50) c+; printf("%d",c); /*C16 119*/main()int tj,i,j;for(tj=1;tj>=0;tj+) if(tj%2=1&&tj%3=2&&tj%4=3&&tj%5=4&&tj
30、%6=5&&tj%7=0)break;printf("%d",tj); /*C19 8658*/main()int i,s=0,w,j;for(i=1;i<=10000;i+) w=0; for(j=1;j<i;j+) if(i%j=0)w+=j; if(w=i)s+=i; printf("%d",s); /*C20 1323525*/main()long a25=1,2,1;int i;for(i=3;i<25;i+) ai=ai-1+ai-2+ai-3;printf("%ld",a24); /*C
31、22 1.5707963166*/#define N 24main()int i,j;double s=1,s1,s2;for(i=1;i<=N;i+) s1=1; s2=1; for(j=1;j<=i;j+) s1*=j; s2*=(2*j+1); s+=(s1/s2); printf("%.10lf",s); /*C23 49.395*/main()int i=1;double s=0;do s+=(1+1.0/i); printf("n%0.3lf",s); i+; while(s<50); /*C24 0.91*/#includ
32、e<math.h>main()int x=2,i,j;double jc(int i);double y=0,fz;for(i=1;i<=20;i+) fz=pow(-1,i+1)*pow(x,2*i-1); y+=fz/jc(2*i-1); printf("n%d,%.0lf/%.0lf",i,fz,jc(2*i-1); printf("n%.2lf",y);double jc(int i)int j;double r=1;for(j=1;j<=i;j+) r*=j;return r; /*C25 135*/#include&l
33、t;math.h>main()long a,b,c;int xs=0;for(c=131;c<=200;c+) xs=0; for(a=1;a<c;a+) b=sqrt(c*c-a*a); if(b*b+a*a=c*c) xs=1; break; if(xs=1) printf("%ld",c); break; /*C26 43*/main()int d=25;int x,y,z,max=0;for(x=1;x<d;x+) for(y=1;y<d;y+) for(z=1;z<d;z+) if(x*x+y*y+z*z=d*d&&am
34、p;max<x+y+z) max=x+y+z;printf("%d",max); /*C28 20*/#include<math.h>main()int a,b,c,n=0;int xs=0;for(c=1;c<=50;c+) for(a=1;a<c;a+) for(b=1;b<a;b+) if(b*b+a*a=c*c)n+;printf("%d",n);/*C30 */#include<math.h>main()double x1=1.0,x2;double a;scanf("%lf"
35、,&a);while(1) x1=1.0/2*(x1+a/x1); if(fabs(x2-x1)<=1e-5) break; else x2=x1; printf("%lf",x1); /*C35 67.223018*/main()double f(double x),s=0;int i;for(i=-30;i<=30;i+) s=s+f(i);printf("%lf",s);double f(double x)double y;if(x=0|x=2)y=0;else if(x>1)y=(x+1)/(x-2);else if(x<0)y=(x-1)/(x-2);return y; /*C38 1.480392*/main()double t=1;int m;for(m=2;m<=50;m+) t=t+1.0/(m*(m+1);printf("%lf",t);/*C41 467,91,19580*/#include"fun.c&qu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025 汽车租赁合同样本
- 高数理论考试题及答案
- 钢结构清考试题及答案
- 妇幼护理考试题目及答案
- 2025租赁商铺合同范本
- 2025租户提前终止租房合同协议书
- 法律考试题型及答案
- 2025租房中介合同书
- 中国钛合金粉项目投资计划书
- 中国杀菌剂项目经营分析报告
- 2025杭州桐庐县统计局编外招聘2人考试参考题库及答案解析
- 扶贫项目实施方案及资金管理
- 2025中国华腾工业有限公司招聘笔试历年参考题库附带答案详解(3卷合一)
- 机械设计制造及其自动化专升本2025年智能设备联网试卷(含答案)
- 小学数学期末综合评价标准与表格
- 手术过程及准备流程
- 消防安全知识培训课件及考试题库
- 永久起搏器植入术课件
- 中国移动杭州市2025秋招笔试行测题库及答案通信技术类
- 法尔奈斯庄园
- 生产与运作管理案例大全
评论
0/150
提交评论