程序改错

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【程序改错】

1.下列给定程序中函数fun的功能是:删除s所指字符中所有的小写字母c 。

请改正程序中的错误,使它能得出正确的结果。

#include

void fun( char *s )

{ int I,j;

for(i=j=0; s[i]!='\0'; i++)

if(s[i]!='c')

/***********FOUND***********/

s[j++]=s[i];

/***********FOUND***********/

s[j]='\0';

}

main()

{ char s[80];

printf("Enter a string: "); gets(s);

printf("The original string: "); puts(s);

fun(s);

printf("The string after deleted : "); puts(s);printf("\n\n");

}

2. 下列给定程序中,函数fun的功能是:根据整型参数m,计算如下公式的值。y=1/(100×100)+1/(200×200)+1/(300×300)+…+1/(m×m)

例如,若m=2000,则应输出0.000160。

请改正程序中的错误,使它能得出正确的结果。

#include

#include

#include

/***********FOUND***********/

double fun (int m)

{ double y=0, d;

int i;

/***********FOUND***********/

for(i=100;i<=m;i+=100)

{d=(double)i*(double)i;

y+=1.0/d;

}

return(y);

}

void main()

{ int n=2000;

system("CLS");

printf("\nThe result is %lf\n",fun(n));

}

3. 下列给定程序中函数fun的功能是:根据以下公式求π值,并作为函数值返回。

π/2=1+1/3+1/3×2/5+1/3×2/5×3/7+1/3×2/5×3/7×4/9+……

例如,当给指定精度的变量eps输入0.0005时,应输出Pi=3.140578。请改正程序中的错误,使它能得出正确的结果。

#include

#include

double fun(double eps)

{ double s,t; int n=1;

s=0.0;

/***********FOUND***********/

t=1;

while( t>eps)

{ s+=t;

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

n++;

}

/***********FOUND***********/

return(2*s);

}

main()

{ double x;

printf("\nPlease enter a precision: "); scanf("%lf",&x);

printf("\neps=%lf, Pi=%lf\n\n",x,fun(x));

}

4. 下列给定程序中,函数fun的功能是:计算整数n的阶乘。

请改正程序中的错误,使它能得出正确的结果。

#include

#include

double fun(int n)

{

double result=1.0;

while(n>1&&n<170)

/***********FOUND***********/

result*=n--;

/***********FOUND***********/

return result;

}

void main()

{int n;

system("CLS");

printf("Enter an integer: ");

scanf("%d",&n);

printf("\n\n%d!=%lg\n\n ",n,fun(n));

}

5. 下列给定程序中,函数fun的功能是:传入一个整数m,计算如下公式的值。t=1/2-1/3-…-1/m

例如,若输入5,则应输出-0.283333。

请改正程序中的错误,使它能得出正确的结果。

#include

#include

#include

double fun(int m)

{

double t=1.0;

int i;

for(i=2;i<=m;i++)

/***********FOUND***********/

t-=1.0/i;

/***********FOUND***********/

return t ;

}

void main()

{int m;

system("CLS");

printf("\nPlease enter 1 integer numbers:\n");

scanf("%d",&m);

printf("\n\nThe result is %1f\n",

fun(m));

}

6. 下列给定程序中,函数fun的功能是:求S的值。

S=(2×2/(1×3))×(4×4/(3×5))×(6×6/(5×7))×…×(2k)×(2k)/((2k-1)×(2k+1)) 例如,当k为10时,函数的值应为1.533852。

请改正程序中的错误,使它能得出正确的结果。

#include

#include

#include

#include

/***********FOUND***********/

double fun(int k)

{

int n; double s, w, p, q;

n=1;

s=1.0;

while(n<=k)

{

w=2.0*n;

p=w-1.0;

q=w+1.0;

相关文档
最新文档