C语言改错复习题文档格式.docx

上传人:b****5 文档编号:17282975 上传时间:2022-11-30 格式:DOCX 页数:17 大小:18.57KB
下载 相关 举报
C语言改错复习题文档格式.docx_第1页
第1页 / 共17页
C语言改错复习题文档格式.docx_第2页
第2页 / 共17页
C语言改错复习题文档格式.docx_第3页
第3页 / 共17页
C语言改错复习题文档格式.docx_第4页
第4页 / 共17页
C语言改错复习题文档格式.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

C语言改错复习题文档格式.docx

《C语言改错复习题文档格式.docx》由会员分享,可在线阅读,更多相关《C语言改错复习题文档格式.docx(17页珍藏版)》请在冰豆网上搜索。

C语言改错复习题文档格式.docx

j<

=i;

j++)

t=t+j;

=s+1/t;

}

returns;

答案:

【1】scanf("

&

n);

【2】floatfun(intn)

【3】for(i=1;

i++)或for(i=1;

n>

n+1;

n+1>

i;

i++)

【4】s+=1.0/t;

或s=s+1.0/(float)t;

或s=s+1.0/t;

或s+=1.0/(float)t;

11)./*------------------------------------------------------

判断m是否为素数,若是返回1,否则返回0。

#include<

intm,k=0;

for(m=1;

m<

100;

m++)

if(fun(m)==1)

%4d"

m);

k++;

if(k%5==0)printf("

\n"

}

voidfun(intn)

inti,k=1;

if(m<

=1)k=0;

for(i=1;

m;

if(m%i=0)k=0;

returnm;

【1】intfun(intm)或fun(intm)

【2】for(i=2;

i++)或for(i=2;

m>

=m-1;

m-1=>

【3】if(m%i==0)k=0;

【4】returnk;

12)./*------------------------------------------------------

用下面的和式求圆周率的近似值。

直到最后一项的绝对值

小于等于0.0001。

π111

—=1-—+—-—+...

4357

#include"

stdio.h"

fun()

inti=1;

ints=0,t=1,p=1;

while(fabs(t)<

=1e-4)

s=s+t;

p=-p;

i=i+2;

t=p/i;

pi=%d\n"

s*4);

fun();

【1】#include"

math.h"

或#include<

math.h>

【2】floats=0,t=1,p=1;

或floats=0,p=1,t=1;

或floatp=1,s=0,t=1;

或floatp=1,t=1,s=0;

或floatt=1,p=1,s=0;

或floatt=1,s=0,p=1;

【3】while(fabs(t)>

1e-4)或while(0.0001<

fabs(t))或while(1e-4<

fabs(t))或while(fabs(t)>

0.0001)

【4】printf("

pi=%f\n"

s*4);

13)./*------------------------------------------------------

求1到10的阶乘的和。

inti;

floatt,s=0;

floatfac(intn);

10;

s=fac(i);

%f\n"

s);

floatfac(intn)

inty=1;

for(i=1;

y=y*i;

return;

【1】for(i=1;

=10;

10>

11;

11>

【2】s=s+fac(i);

或s+=fac(i);

或s=fac(i)+s;

【3】floaty=1.0;

或floaty=1;

【4】returny;

或return(y);

或return(y);

14)./*------------------------------------------------------

求1到20的阶乘的和。

{

intn,j;

floats=0.0,t=1.0;

for(n=1;

n<

=20;

n++)

{

s=1;

t=t*n;

s+t=s;

jiecheng=%d\n"

【1】t=1;

或t=1.0;

【2】t=t*j;

或t*=j;

或t=j*t;

【3】s=s+t;

或s+=t;

或s=t+s;

jiecheng=%f\n"

15)./*------------------------------------------------------

输出Fabonacci数列的前20项,要求变量类型定义成浮点型,

输出时只输出整数部分,输出项数不得多于或少于20。

floatf1=1,f2=1,f3;

%8d"

f1);

f3=f1+f2;

f2=f1;

f3=f2;

%8.0f"

【1】printf("

或printf("

%f"

%8f"

【2】for(i=1;

20;

20>

=19;

19>

【3】f1=f2;

【4】f2=f3;

16)./*------------------------------------------------------

根据整型形参m的值,计算如下公式的值。

t=1-——-——-...-——

2x23x3mxm

例如:

若m=5,则应输出:

0.536389

doublefun(intm)

doubley=1.0;

for(i=2;

i--)

y-=1/(i*i);

intn=5;

\ntheresultis%lf\n"

【1】for(i=2;

=m;

m+1;

1+m;

m+1>

1+m>

【2】y-=1.0/(i*i);

或y=y-1.0/(i*i);

或y-=1.0/(float)(i*i);

或y=y-1.0/(float)(i*i);

或y=y-1.0/i/i;

或y=y-1.0/(float)i/(float)i;

或y=y-1/(double)(i*i);

或y-=1/(double)(i*i);

【3】returny;

18)./*------------------------------------------------------

计算并输出k以内最大的10个能被13或17整除的自然数之和。

k的值由主函数传入。

若k的值为500,则函数值为4622。

intfun(intk)

intm=0,mc=0,j;

while((k>

=2)||(mc<

10))

if((k%13=0)||(k%17=0))

m=m+k;

mc++;

k++;

return;

%d\n"

fun(500));

【1】while((2<

=k)&

&

(mc<

10))或while((k>

=2)&

10))或while((2<

=9))或while((k>

=9))

【2】if(!

(k%17!

=0||k%13!

=0))或if(k%13==0||k%17==0)

【3】k--;

或k=k-1;

或k-=1;

【4】returnm;

或return(m);

19)./*------------------------------------------------------

计算正整数num的各位上的数字之积。

输入252,则输出应该是20。

longfun(longnum)

longk;

do

k*=num%10;

num\=10;

}while(num);

returnk;

longn;

\nPleaseenteranumber:

scanf("

%ld"

n);

\n%ld\n"

fun(longn));

【1】longk=1;

【2】num/=10;

或num=num/10;

【3】scanf("

20)./*------------------------------------------------------

已知一个数列从第0项开始的前三项分别为0、0、1,以

后的各项都是其相邻的前三项的和。

下列给定程序中,

函数fun的功能是:

计算并输出该数列的前n项的平方根

之和sum,n的值通过形参传入。

当n=10时,程序的输出结果应为23.197745。

fun(intn)

doublesum,s0,s1,s2,s;

intk;

sum=0.0;

if(n<

=2)sum=0.0;

s0=0.0;

s1=0.0;

s2=0.0;

for(k=4;

k>

n;

k++)

s=s0+s1+s2;

sum+=sqrt(s);

s0=s1;

s1=s2;

s2=s;

returnsum;

%lf\n"

【1】doublefun(intn)

【2】sum=1.0;

或sum=1;

【3】s2=1.0;

或s2=1;

【4】for(k=4;

k<

k++)或for(k=4;

=k;

1+n;

k;

1+n>

21)./*------------------------------------------------------

根据以下公式求π值,并作为函数值返回。

给指定精度的变量eps输入0.0005时,应当输出Pi=3.140578。

π1121231234

—=1+—+—x—+—x—x—+—x—x—x—+...

23353573579

doublefun(doubleeps)

doubles,t;

intn=1;

s=0.0;

t=1;

while(t<

=eps)

s+=t;

t=n/(2*n+1)*t;

n++;

doublex;

%lf"

x);

\neps=%lf,Pi=%lf\n\n"

x,fun(x));

【1】while(t>

eps)或while(eps<

t)或while(t>

=eps)或while(eps<

=t)或while(t>

eps)或while(eps<

t)或while(t>

=eps)或while(eps<

=t)

【2】t=t*n/(2*n+1);

或1.0*n/(2*n+1)*t或n/(2*n+1.0)*t或n/(2.0*n+1)*t或n/(2.0*n+1.0)*t或1.0*n/(2.0*n+1.0)*t

【3】return2*s;

或return(2*s);

或return(2*s);

或return(s*2);

或return(s*2);

22)./*------------------------------------------------------

求出两个非零正整数的最大公约数,并作为函数值返回。

若给num1和num2分别输入49和21,则输出的最大公约数为7。

intfun(inta,intb)

intr,t;

if(a<

b)

t=a;

b=a;

a=t;

r=a%b;

while(r!

=0)

a=b;

b=r;

r=a/b;

returna;

intnum1,num2,a;

%d%d"

num1,&

num2);

a=fun(num1,num2);

themaximumcommondivisoris%d\n\n"

a);

【1】a=b;

【2】b=t;

【3】r=a%b;

【4】returnb;

或return(b);

或return(b);

26)./*------------------------------------------------------

找出大于m的最小素数,并将其作为函数值返回。

intfun(intm)

inti,k;

for(i=m+1;

;

for(k=1;

/**********F

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

当前位置:首页 > 外语学习 > 法语学习

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

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