




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计三种题型(改错,填空,编程)第一套:1 下面的程序是计算如下公式的A15值。 A1=1, A2=1/(1+A1), A3=1/(1+A2), A4=1/(1+A3),请改正程序中的错误,并给出程序运行的正确结果(按四舍五入保留10位小数) 程序:#include #include double fun(int n) double A=1.0; int i; for(i=2; i=n; i+) /*下行有错 */ A=1.0/(1+A); return A;main() printf(%12.10lfn, fun(15);2程序填空:以下程序求100,500之间同时满足除以7余5,除以5余3,除以3余1的整数之和,将下列程序补充完整,把程序运行的正确结果填入相应窗口。程序:#include #include #include main() int i; long sum;sum=0; for (i=100;i=500;i+) if (i%7=5&i%5=3&i%3=1) sum=sum+i; printf(%ld, sum);3程序设计 求1000,2000范围内由小到大第100个素数。第二套:1. 下面的程序是求下式的和:s=1+1/(1+2)+1/(1+2+3)+ +1/(1+2+3+n)请改正程序中的错误,并运行修改后的程序, 当n=80时,给出程序运行结果(按四舍五入保留6位小数)。程序:#include #include float fun(int n) int i; float s=1.0, t=1.0; /*下行有错 */ for(i=2; i=n;i+) t=t+i; /*下行有错 */ s=s+1/t; return s;main() printf(%fn, fun(80); 2. 设s=1*2+2*3+3*4+n*(n+1),求s100000) break; n=n-1; printf(%dn,n);3. 求500以内(含500)能被5或9整除的所有自然数的倒数之和。按四舍五入的方式精确到小数点后第二位。第三套:1.下面的程序是求20,700之间所有的素数的个数。请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。程序:#include #include #include int prime(int n) int yes, i; if(n=1) return 0; yes=1; for(i=2; i=sqrt(n); i+) if(n%i=0) yes=0; break; /*下行有错*/ Return yes;main() int count=0, i; for(i=20;i=700; i+) if(prime(i) count+=1; printf(%dn, count); 2. 已知24有8个因子,而24正好被8整除。 求1,100之间有多少个整数能被其因子的个数整除,将下列程序补充完整,把程序运行的正确结果填入相应窗口。程序:#include #include #include main() int a,b,c,n,count=0; for (a=1; a=100; a+) b=0; for (c=1;c2)求F(0)到F(100)中正数的个数。第四套:1. 已知24有8个因子,而24正好被8整除。下面程序求100,300之间所有能被其因子的个数整除的整数中最大的数。请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。程序:#include #include #include main() int a,b,i,max; for (a=100; a=300; a+) i=0; /*下行有错 */ for(b=1;b=a;b+) if(a%b=0) i+; if(a%i=0) /*下行有错 */ max=a; printf(%dn,max);2. 编写程序计算在10至99的范围内有多少个整数,其各位数的乘积小于等于各位数的和。请将下列程序补充完整,把程序运行的正确结果填入相应窗口。#include stdio.hint fun(int a,int b) int i,count=0,low,high; for ( i=a;i=b;i+) Low=i%10; high=i/10; if( low*high=low+high ) count+; return count;void main() printf(%dn,fun(10,99) );3. 有十进制数字a,b,c,d和e,它们满足下列式子:abcd*e=bcde (a不等于0, e不等于0或1),求满足上述条件的所有四位数bcde的和。第五套:1.下面的程序是求640以内的所有的素数的个数。请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。程序:#include #include #include int prime(int n) int yes, i; if(n=1) /*下行有错*/ return 0; yes=1; for(i=2; i=sqrt(n); i+) if(n%i=0) yes=0; break; return yes;main() int count=0, i; /*下行有错*/ for(i=2;i=640; i+) if(prime(i)=1) count+=1; printf(%dn,count); 2. 求所有的千位数字与十位数字之和等于百位数字与个位数字之积的四位正整数的个数,例如,3136, 3+3=1*6 故3136是所求的四位数。将下列程序补充完整,把程序运行的正确结果填入相应窗口。#include stdio.hmain() int a,b,c,d,n; int i=0; for(n=1000;n=9999;n+) a=n/1000; b=(n-a*1000)/100; c=(n-a*1000-b*100)/10; d=n%10; if(a+c=b*d) i+; printf(%dn,i);3. 若正整数N的所有因子之和等于N的倍数,则称N为红玫瑰数。如28的因子之和为124714285628*2,故28是红玫瑰数。求1,700之间红玫瑰数的个数。第六套:1.下列程序中,函数fun的功能是:计算并输出k以内的最大的10个能被13或17整除的自然数之和。请改正程序中的错误,并运行正确的程序。当从键盘输入500时,给出程序运行的正确结果#include #include int fun(int k) int m=0, mc=0, j;/*下行有错*/while(k=2) & mc10)/*下行有错*/ if (k%13=0) | (k%17=0) m=m+k; mc+; k-; return m;main() int k; clrscr(); printf(n 请输入整数:); scanf(%d, &k); printf(%dn,fun(k);2. 设S=1+(1+3)+(1+3+5)+(1+3+5+7)+,求S10000) break; s=s-t; printf(%dn,s);3. 已知Fibonacci数列:1,1,2,3,5,8,它可由下面公式表述:F(1)=1 if n=1F(2)=1 if n=2F(n)=F(n-1)+F(n-2) if n2试求F(2)+F(4)+F(6)+F(50)值。提示: 最好使用递推法求解,因为使用递归调用很可能超出某些语言的递归深度。第七套:1. 下面的程序是求500以内的所有的素数的个数。请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。程序:#include #include #include int prime(int n) int yes, i; if(n=1) return 1; yes=1; for(i=2; i=sqrt(n); i+) if(n%i=0) yes=0; break; return yes;main() int count=0, i; for(i=2;i=500; i+) /*下行有错*/ if(prime(i) count+; printf(%dn, count); 2. 下面程序是求1,120之间的所有整数的平方和。请将程序补充完整,把程序运行的正确结果填入相应窗口。程序:#include #include #include main() long sum; int i; sum=0; for (i=1;i=120;i+) sum=sum+i*i; printf(%ld,sum);3. 已知 S=1+1/(1+2)+1/(1+2+3)+1/(1+2+3+N) ,当N的值为50时,求S的值。要求:按四舍五入的方式精确到小数点后第四位。第八套:1. 下面的程序是求100,999之间所有的素数的个数。请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。程序:#include #include #include int prime(int n) int yes, i; if(n=1) return 0; yes=1; for(i=2; i=sqrt(n); i+) /*下行有错*/ if(n%i=0) yes=0; break; return yes;main() int count=0, i; for(i=100;i999; i+) if(prime(i) count+=1; printf(%dn, count); 2. 已知24有8个因子,而24正好被8整除。求100,300之间所有能被其因子的个数整除的整数之和,将下列程序补充完整,把程序运行的正确结果填入相应窗口。程序:#include #include #include main() int a,b,c,n,sum=0; for (a=100; a=300; a+) _ for (c=1;c=a;c+) if ( _ ) b+=1; if (a%b=0) sum=sum+a; printf(%d,sum);3. 计算Y=X/1!-X3/3!+X5/5!-X7/7!+前20项的值(已知:X=2)。要求:按四舍五入的方式精确到小数点后第二位。第九套:1. 下面的程序中,函数fun的功能是:根据形参m,计算下面公式的值。 T=1+1/(2*3)+1/(3*4)+.+1/(m*(m+1) 请改正程序中的错误,并运行改正后的程序。当从键盘输入30时,给出程序运行的正确结果(按四舍五入保留6位小数)。程序:#include #include double fun(int m) double t=1.0;int i=2;for(i=2;i=m;i+) /*下行有错 */ t=t+1.0/(i*(i+1);return t;main() int m;printf(n 请输入一个整数: );/*下行有错 */scanf(%d,m);printf(%lf n,fun(m);2. 设s=1*2+2*3+3*4+n*(n+1),求s100000) break; _; printf(%dn,n);3. 求符合下列条件的四位完全平方数(某个正整数A是另一个正整数B的平方,则称A为完全平方数),它的千位数字与十位数字之和等于百位数字与个位数字之积,例如,3136=562, 且3+3=1*6 故3136是所求的四位完全平方数. 求其中最大的一个数。第十套:1. 下面的程序中,函数fun的功能是:根据形参m,计算下面公式的值。T=1+1/(2*3)+1/(3*4)+.+1/(m*(m+1) 请改正程序中的错误,并运行改正后的程序。当从键盘输入58时,给出程序运行的正确结果(按四舍五入保留6位小数)。程序:#include #include double fun(int m) double t=1.0;int i=2;for(i=2;i=m;i+) /*下行有错 */ t=t+1.0/(i*(i+1);return t;main() int m;printf(n 请输入一个整数: );/*下行有错 */scanf(%d,&m);printf(%lf n,fun(m);2. 求1000-2000年之间有多少个闰年。请将下列程序补充完整,把程序运行的正确结果填入相应窗口。#include stdio.hmain() int y,k=0; for(y=1000;y=2000;y+) if(y%4=0&y%100!=0|y%400=0) k+; printf(“n k=%d”,k);3. 求1000,2000范围内由小到大第100个素数。第十一套:1. 下面的程序是求20,700之间所有的素数的个数。请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。程序:#include #include #include int prime(int n) int yes, i; if(n=1) return 0; /*下行有错*/ yes=1; for(i=2; i=sqrt(n); i+) if(n%i=0) yes=0; break; return yes;main() int count=0, i; for(i=20;i=700; i+) if(prime(i) count+=1; printf(%dn, count); 2. 下面的程序是求表达式的值: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=20时,将程序的运行结果填入相应窗口(按四舍五入保留10位小数)。程序:#include #include #include double fun(int n) double s, t; int i; s=1; t=1.0; for(i=1;i=n; i+) t=t*i/(2*i+1); s=s+t; return s;main()printf(%12.10lf, fun(20);3. 若一个四位正整数是另一个正整数的平方,且各位数字的和是一个平方数,则称该四位正整数是“四位双平方数”。例如: 由于7396=862,且7+3+9+6=25=52,则称7396是“四位双平方数”。若把所有“四位双平方数”按升序排列,求前5个“四位双平方数”的和。第十二套:1.求符合下列条件的四位数,它的千位数字与十位数字之和等于百位数字与个位数字之积,例如,3136, 3+3=1*6 故3136是所求的四位数. 求其中最大的一个数。请将下列程序补充完整,把程序运行的正确结果填入相应窗口。#includemain() int i,a,b,c,d,n; for( i=9999; i=1000; i-) a=i/1000; b=(i-a*1000)/100; c=(i-a*1000-b*100)/10; d=i%10; if (a+c=b*d) printf(%d,i); break; 2. 设y=4/1!+4/3!+4/(2*n-1)!,计算当n=5时的y值,按四舍五入的方式精确到小数点后三位。请将下列程序补充完整,把程序运行的正确结果填入相应窗口。#include stdio.hmain() int n,i; float t,s=0; for(n=1;n=5;n+) t=1; for(i=1;i=2*n-1;i+) t=t*i; s=s+4/t; printf(%.3fn,s);3. 50元的整币兑换成5元、2元和1元币值(三种币值均有、缺少一种或两种都计算在内)的方法有多少种。第十三套:1. 若某个整数N的所有因子之和等于N的倍数,则称N为多因子完备数。例如,28是多因子完备数。因为:1+2+4+7+14+28=56=28*2 ,下面程序求100,1000间有多少个多因子完备数,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。程序:#include #include #include main() int a,b,c,n,count=0; for (a=100; a=1000; a+) b=0; /*下行有错*/ for (c=1;c10000的最小值S。请将下列程序补充完整,把程序运行的正确结果填入相应窗口。#include stdio.hmain() int k,s=0,sum=0; for(k=1;k+) s=s+2*k-1; sum=sum+s; if(sum10000) break; printf(%dn,sum);3. 求Y=1-1/2+1/3-1/4+1/5.前30项之和。要求:按四舍五入的方式精确到小数点后第二位。第十四套:1. 已知24有8个因子,而24正好被8整除。下面程序求10,400之间有多少个整数能被其因子的个数整除,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。程序:#include #include #include main() int a,b,i,count=0; for (a=10; a=400; a+) i=0; for(b=1;b=a;b+) /*下行有错 */ if(a%b=0) i+; if(a%i=0) /*下行有错 */ count+=1; printf(%dn,count);2. 已知S=2+(2+4)+(2+4+6)+(2+4+6+8)+,求S20000) break; sum=sum-s;printf(%dn,sum);3.数列:E(1)=E(2)=1 E(n)=(n-1)*E(n-1)+(n-2)*E(n-2) (n2)称为E数列,每一个E(n),(n=1,2,)称为E数。求不超过30000的最大E数的值(注: 是求E30000的最大E数值)。第十五套:1. 若某个整数N的所有因子之和等于N的倍数,则称N为多因子完备数。例如,28是多因子完备数。因为:1+2+4+7+14+28=56=28*2 ,下面程序求10,600间最大的多因子完备数,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。程序:#include #include #include main() int a,b,c,n,big,count=0; for (a=10; a=600; a+) b=0; for (c=1;c=a;c+) if (a%c =0) /*下行有错*/ b+; if (b%a=0) big=a; printf(%dn ,big); 2. 下面的程序是求表达式的值: 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=40时,将程序的运行结果填入相应窗口(按四舍五入保留10位小数)程序:#include #include #include double fun(int n) double s, t; int i; _t=1.0; for(i=1;i=n; i+) t=t*i/(2*i+1); _ return s;main()printf(%12.10lf, fun(40);3. 已知AB, A和B均为正整数,且A*B=2698,求A+B的最小值。第十六套:1.下面的程序中,函数fun的功能是:根据形参m,计算下面公式的值。 T=1+1/(2*3)+1/(3*4)+.+1/(m*(m+1) 请改正程序中的错误,并运行改正后的程序。当从键盘输入32时,给出程序运行的正确结果(按四舍五入保留6位小数)。程序:#include #include double fun(int m) double t=1.0;int i=2;for(i=2;i=m;i+) /*下行有错 */ t=1.0/(i*(i+1);return t;main() int m;printf(n 请输入一个整数: );/*下行有错 */scanf(%d,m);printf(%lf n,fun(m);2.以下程序求1,800之间能被3 或8整除的数之和。请将程序补充完整,把程序运行的正确结果填入相应窗口。#include #include #include main()_long sum;sum=0;for ( i=1;i=800;i+) if ( fmod(i,3)=0)|(fmod(i,8)=0) _ printf(%ldn,sum);3. 求2,400中相差为10的相邻素数对的对数。第十七套:1. 下面的程序是求1000以内的最大的20个素数之和。请修改程序中的错误,使它能得出正确的结果,并给出正确结果。程序:#include #include #include int fun(int high) int sum=0, n=0, j, yes; /*下行有错*/ while(high=2) | (n20) yes=1 ; for(j=2; j=sqrt(high); j+) if(high%j=0) yes=0; /*下行有错*/ continue; if(yes) sum+=high; n+; high-; return sum; main() printf(%d n,fun(1000); 2. 求五位数各数字的立方和为1000的最小的五位数。请将下列程序补充完整,把程序运行的正确结果填入相应窗口。 #includemain() float x=10000; int a,b,c,d,e; while (x=99999) a=x/10000; b=(int)(x)-a*10000)/1000; c=(int)(x)-a*10000-b*1000)/100; d=(int)(x)-a*10000-b*1000-c*100)/10; e=(int)(x)%10; if( _ ) printf(%.f,x); break; x=x+1; 3. 已知:非等腰三角形最长边是60,其它两边的长度都是正整数,且三边之和能被3整除,试编程求取这类三角形的个数(注意:两边的长度交换构成的三角形算作同一个三角形,如:其它两边的长度为30和40的三角形与长度为40和30的三角形视为同一个三角形)。第十八套:1.下面的程序是求640以内的所有的素数的个数。请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。程序:#include #include #include int prime(int n) int yes, i; if(n=1) /*下行有错*/ return 1; yes=1; for(i=2; i=sqrt(n); i+) if(n%i=0) yes=0; break; return yes;main() int count=0, i; /*下行有错*/ for(i=2;i=640; i-) if(prime(i)=1) count+=1; printf(%dn,count); 2.设某四位正整数的各位数字的平方和为100。求满足条件的四位正整数的和。请将下列程序补充完整,把程序运行的正确结果填入相应窗口。#include stdio.hmain() int n,a,b,c,d; long int s=0; for(n=1000;n2)求f(0)到f(50)中的最大值第十九套:1. 下面的程序中,函数fun的功能是:根据形参m,计算下面公式的值。 T=1+1/(2*3)+1/(3*4)+.+1/(m*(m+1) 请改正程序中的错误,并运行改正后的程序。当从键盘输入79时,给出程序运行的正确结果(按四舍五入保留6位小数)。程序:#include #include double fun(int m) double t=0;int i=0;for(i=1; i=m; i+) t=t+1.0/(i*(i+1);return ;main() int m;clrscr();printf(n 请输入一个整数: );scanf(%d,&m);printf(n 结果是: %lf n, fun(m);2. 设s=1*2+2*3+3*4+n*(n+1),求s100000) break; _; printf(%dn,n);3. 编程求取:121,140 之间的弦数的个数(若某正整数的平方等于另两个正整数平方之和,则称该数为弦数. 例如:32+42=52, 因此5是弦数)。第二十套:1. 已知24有8个因子,而24正好被8整除。下面程序求50,250之间有多少个整数能被其因子的个数整除,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。程序:#include #include #include main() int a,b,i,count=0; for (a=50; a=250; a+) i=0; for(b=1;b2以下程序是求F(2)+F(4)+F(6)+.+F(12)的值,请将程序补充完整,把程序运行的正确结果填入相应窗口。#include #include #include main() double f1,f2; double sum=1; int i; f1=1;f2=1; for (i=1;i y z),则(x,y,z)称为方程的一个解。试求方程的所有整数解中|x+y+z|的最小值。 第二十一套:1.下面的程序是计算如下公式的A25值。 A1=1, A2=1/(1+A1), A3=1/(1+A2), A4=1/(1+A3), . 请改正程序中的错误, 并给出程序运行的正确结果(按四舍五入保留10位小数)。程序:#include #include double fun(int n) double A=1.0; int i; for(i=2; i=n; i+) /*下行有错 */ A=1.0/(1+A); /*下行有错 */ return A;main() printf(%12.10lfn, fun(25); 2. 下面程序是求5,80之间的所有奇数的立方和。请将程序补充完整,把程序运行的正确结果填入相应窗口。程序:#include #include #include main() long sum; _ sum=0; for (i=5;i=80;i+) if (_) sum+=i*i*i; printf(%ld,sum);3. 梅森尼数是指能使2n-1为素数的数n,求2,21范围内最大的梅素尼数?第二十二套:1.下面的程序是求如下表达式的值。 S=sqrt(l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设计师聘用合同书
- 瓶装氧气培训课件
- 安全施工培训课程课件
- 安全方面的培训心得课件
- 奉节畜牧工程方案(3篇)
- 定西假山工程制作方案(3篇)
- 球车安全驾驶培训目的课件
- 安全文明培训内容课件
- 安全文明出行培训内容课件
- 风电场工程建设方案(3篇)
- 全国赛课一等奖2024版新教材统编版七年级历史上册《中华文明的起源》课件
- GB/T 22838.5-2024卷烟和滤棒物理性能的测定第5部分:卷烟吸阻和滤棒压降
- 江苏省镇江市2024-2025学年高三上学期期初考试数学试卷(解析版)
- 全国职业院校技能大赛高职组(供应链管理赛项)备赛试题库(含答案)
- JT叔叔医道课1-50集完整稿
- 部编版五年级道德与法治上册第3课《主动拒绝烟酒与毒品》精美课件(第3课时)
- JB-T 8881-2020 滚动轴承 渗碳轴承钢零件 热处理技术条件
- 2024年四川省水电投资经营集团普格电力有限公司招聘笔试参考题库含答案解析
- G-T 20986-2023 信息安全技术 网络安全事件分类分级指南
- 建筑工程技术专业《建筑力学》课程标准
- JC-T 2127-2012 建材工业用不定形耐火材料施工及验收规范
评论
0/150
提交评论