C语言国家计算机二级考试真题训练.docx
- 文档编号:9872582
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:15
- 大小:15.99KB
C语言国家计算机二级考试真题训练.docx
《C语言国家计算机二级考试真题训练.docx》由会员分享,可在线阅读,更多相关《C语言国家计算机二级考试真题训练.docx(15页珍藏版)》请在冰豆网上搜索。
C语言国家计算机二级考试真题训练
下面的程序是求如下表达式的值。
S=sqrt(ln
(1)+ln
(2)+ln(3)+......+ln(n))
请改正程序中的错误,并运行修改后的程序,当n=60时,给出程序运行结果(按四舍五入保留6位小数)。
程序:
#include
#include
#include
doublefun(intn)
{doubles=0.0;inti;
/*下行有错*/
for(i=1;i s+=log(1.0*i); s=sqrt(s); returns; } main() { /*下行有错*/ printf("%ld\n",fun(60)); } 以下程序求1000以内的所有的完全数之和,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。 "完全数"是指: 一个数如果刚好与它所有的真因子(不包括该数本身)之和相等,如: 6=1+2+3,则6就是一个完全数。 程序: #include #include #include main() { intsum; intn,m,s,k; sum=0; for(n=3;n<=1000;n++) { s=1; k=n/2+1; for(m=2;m if(n%m==0) /*下行有错*/ s=s+1; if(s==n) { sum+=s; } } printf("%d",sum); } 以下程序求10000以内的所有完全数的个数,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。 "完全数"是指: 一个数如果刚好与它所有的真因子(不包括该数本身)之和相等,如: 6=1+2+3,则6就是一个完全数。 程序: #include #include #include main() { intcount,n,m,s,k; count=0; for(n=3;n<=10000;n++) { /*下行有错*/ s=1; k=n/2+1; for(m=1;m if(n%m==0) /*下行有错*/ s+=1; if(s==n) { count+=1; } } printf("%d",count); } 以下程序求1000以内最大的完全数,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。 "完全数"是指: 一个数如果刚好与它所有的真因子(不包括该数本身)之和相等,如: 6=1+2+3,则6就是一个完全数。 程序: #include #include #include main() { intn,m,s,k,big; for(n=3;n<=1000;n++) { /*下行有错*/ s=1; k=n/2+1; for(m=1;m if(n%m==0) /*下行有错*/ s+=1; if(s==n) { big=n; } } printf("%d",big); } 以下程序求10000以内最大的完全数,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。 "完全数"是指: 一个数如果刚好与它所有的真因子(不包括该数本身)之和相等,如: 6=1+2+3,则6就是一个完全数。 程序: #include #include #include main() { intn,m,s,k,big; for(n=3;n<=10000;n++) {/*下行有错*/ s=1; k=n/2+1; for(m=1;m if(n%m==0) s+=m; if(s==n) { big=n; } } printf("%d\n",big); } 以下程序求1000以内的所有的完全数的个数,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。 "完全数"是指: 一个数如果刚好与它所有的真因子 (不包括该数本身)之和相等,如: 6=1+2+3,则6就是一个完全数。 程序: #include #include #include main() { intcount,n,m,s,k; count=0; for(n=3;n<=10000;n++) {/*下行有错*/ s=1; k=n/2+1; for(m=1;m if(n%m==0) s+=m; if(s==n) { count+=1; } } printf("%d",count); } 若某个整数N的所有因子之和等于N的倍数,则称N为多因子完备数。 例如,28是多因子完备数。 因为: 1+2+4+7+14+28=56=28*2,下面程序求[1,500]间最大的多因子完备数,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。 程序: #include #include #include main() { inta,b,c,n,big,count=0; for(a=1;a<=500;a++) { b=0; for(c=1;c<=a;c++) if(a%c==0) b=b+c; if(b%a==0) { /*下行有错*/ big=b; } } printf("%d\n",big); } 若某个整数N的所有因子之和等于N的倍数,则称N为多因子完备数。 例如,28是多因子完备数。 因为: 1+2+4+7+14+28=56=28*2,下面程序求[10,600]间最大的多因子完备数,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。 程序: #include #include #include main() { inta,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("%d\n",big); } 若某个整数N的所有因子之和等于N的倍数,则称N为多因子完备数。 例如,28是多因子完备数。 因为: 1+2+4+7+14+28=56=28*2,下面程序求[150,1000]间有多少个多因子完备数,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。 程序: #include #include #include main() { inta,b,c,n,count=0; for(a=150;a<=1000;a++) {/*下行有错*/ b=a; for(c=2;c<=a;c++) if(a%c==0) b=b+c; if(b%a==0) { count=count+1; } } printf("%d",count); } 若某个整数N的所有因子之和等于N的倍数,则称N为多因子完备数。 例如,28是多因子完备数。 因为: 1+2+4+7+14+28=56=28*2,下面程序求[100,1000]间有多少个多因子完备数,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。 程序: #include #include #include main() { inta,b,c,n,count=0; for(a=100;a<=1000;a++) { b=0; /*下行有错*/ for(c=2;c<=a;c++) if(a%c==0) b=b+c; if(b%a==0) { /*下行有错*/ count=count+a; } } printf("%d",count); } 若某个整数N的所有因子之和等于N的倍数,则称N为多因子完备数。 例如,28是多因子完备数。 因为: 1+2+4+7+14+28=56=28*2,下面程序求[10,800]间有多少个多因子完备数,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。 程序: #include #include #include main() { inta,b,c,n,count=0; for(a=10;a<=800;a++) { b=0; /*下行有错*/ for(c=2;c<=a;c++) if(a%c==0) b=b+c; if(b%a==0) { /*下行有错*/ count=count+b; } } printf("%d",count); } 若某个整数N的所有因子之和等于N的倍数,则称N为多因子完备数。 例如,28是多因子完备数。 因为: 1+2+4+7+14+28=56=28*2,下面程序[1,700]间有多少个多因子完备数,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。 程序: #include #include #include main() { inta,b,c,n,count=0; for(a=1;a<=700;a++) { b=0; for(c=1;c<=a;c++) if(a%c==0) /*下行有错*/ b=b+1; if(b%a==0) { count++; } } printf("%d",count); } 已知fibonacci数列: 1,1,2,3,5,8,......,它可由下面公式表述: F (1)=1ifn=1 F (2)=1ifn=2 F(n)=F(n-1)+F(n-2)ifn>2 以下程序是求F(50),请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。 程序: #include #include main() { doublef1,f2; inti; f1=1;f2=1; for(i=1;i<=24;i++) { f1=f1+f2; f2=f2+f1; } /*下行有错*/ printf("%12.0lf",f1); } 已知fibonacci数列: 1,1,2,3,5,8,......,它可由下面公式表述: F (1)=1ifn=1 F (2)=1ifn=2 F(n)=F(n-1)+F(n-2)ifn>2 以下程序是求F(35),请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。 程序: #include #include main() { doublef1,f2; inti; f1=1;f2=1; /*下行有错*/ for(i=1;i<=35;i++) { f1=f1+f2; f2=f2+f1; } clrscr(); printf("%12.0lf",f1); } 已知fibonacci数列: 1,1,2,3,5,8,......,它可由下面公式表述: F (1)=1ifn=1 F (2)=1ifn=2 F(n)=F(n-1)+F(n-2)ifn>2 以下程序是求F(40),请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。 程序: #include #include main() { doublef1,f2; inti; /*下行有错*/ f1=2;f2=3; for(i=1;i<=19;i++) { f1=f1+f2; f2=f2+f1; } clrscr(); printf("%12.0lf",f2); } 下面的程序是求下式的和: s=1+1/(1+2)+1/(1+2+3)+......+1/(1+2+3+......+n) 请改正程序中的错误,并运行修改后的程序,当n=70时,给出程序运行结果(按四舍五入保留6位小数)。 程序: #include #include floatfun(intn) {inti; floats=1.0,t=1.0; /*下行有错*/ for(i=2;i {t=t+i; s=s+1/t; } /*下行有错*/ return; } main() {printf("\n%f",fun(70)); } 下面的程序是求1000以内的最大的25个素数之和。 请修改程序中的错误,使它能得出正确的结果,并给出正确结果。 程序: #include #include #include intfun(inthigh) {intsum=0,n=0,j,yes; /*下行有错*/ while((high>=2)||(n<25)) {yes=1; for(j=2;j<=sqrt(high);j++) if(high%j==0) /*下行有错*/ yes=0;break; if(yes){sum+=high;n++;} high--; } returnsum; } main() { printf("%d\n",fun(1000)); } 下面的程序是求500以内的所有的素数之和。 请修改程序中的错误,使它能得出正确的结果,并给出正确结果。 程序: #include #include #include intprime(intn) {intyes,i; if(n<=1){return1;} yes=1; for(i=2;i<=sqrt(n);i++) if(n%i==0){yes=0;break;} /*下行有错*/ return1; } main() {intsum=0,i; for(i=2;i<=500;i++) if(prime(i))sum+=i; printf("%d\n",sum); } 下面的程序是求下式的和: s=1+1/(1+2)+1/(1+2+3)+......+1/(1+2+3+......+n) 请改正程序中的错误,并运行修改后的程序,当n=80时,给出程序运行结果(按四舍五入保留6位小数)。 程序: #include #include floatfun(intn) {inti; floats=1.0,t=1.0; /*下行有错*/ for(i=2;i<=n;i--) {t=t+i; /*下行有错*/ s+=s+1/t; } returns; } main() {printf("\n%f",fun(80)); } 已知24有8个因子,而24正好被8整除。 下面程序求[1,100]之间所有能被其因子的个数整除的整数中最大的数。 请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。 程序: #include #include #include main() { inta,b,c,n,big; for(a=1;a<=100;a++) { b=0; /*下行有错*/ for(c=2;c<=a;c++) if(a%c==0) b++; if(a%b==0) {/*下行有错*/ big=b; } } printf("%d\n",big); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 国家 计算机 二级 考试 训练