C语言国家计算机二级考试真题训练.docx

上传人:b****1 文档编号:2951996 上传时间:2023-05-05 格式:DOCX 页数:15 大小:15.99KB
下载 相关 举报
C语言国家计算机二级考试真题训练.docx_第1页
第1页 / 共15页
C语言国家计算机二级考试真题训练.docx_第2页
第2页 / 共15页
C语言国家计算机二级考试真题训练.docx_第3页
第3页 / 共15页
C语言国家计算机二级考试真题训练.docx_第4页
第4页 / 共15页
C语言国家计算机二级考试真题训练.docx_第5页
第5页 / 共15页
C语言国家计算机二级考试真题训练.docx_第6页
第6页 / 共15页
C语言国家计算机二级考试真题训练.docx_第7页
第7页 / 共15页
C语言国家计算机二级考试真题训练.docx_第8页
第8页 / 共15页
C语言国家计算机二级考试真题训练.docx_第9页
第9页 / 共15页
C语言国家计算机二级考试真题训练.docx_第10页
第10页 / 共15页
C语言国家计算机二级考试真题训练.docx_第11页
第11页 / 共15页
C语言国家计算机二级考试真题训练.docx_第12页
第12页 / 共15页
C语言国家计算机二级考试真题训练.docx_第13页
第13页 / 共15页
C语言国家计算机二级考试真题训练.docx_第14页
第14页 / 共15页
C语言国家计算机二级考试真题训练.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言国家计算机二级考试真题训练.docx

《C语言国家计算机二级考试真题训练.docx》由会员分享,可在线阅读,更多相关《C语言国家计算机二级考试真题训练.docx(15页珍藏版)》请在冰点文库上搜索。

C语言国家计算机二级考试真题训练.docx

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);

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2