程序改错

更新时间:2023-10-22 12:20:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

【程序改错】

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(\ \ printf(\ \ fun(s);

printf(\ \}

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(\

printf(\}

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

11

π/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(\ printf(\}

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(\

printf(\ scanf(\

printf(\}

12

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(\

printf(\ scanf(\

printf(\ 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;

13

s=s*w*w/p/q; n++; }

/***********FOUND***********/ return s; }

void main() { system(\

printf(\}

7. 下列给定程序中函数fun的功能是:计算正整数num各位上的数字之积。 例如,若输入252,则输出应该是20。若输入202,则输出应该是0。 请改正程序中的错误,使它能得出正确的结果。 #include long fun (long num) {

/***********FOUND***********/ long k=1; do

{ k*=num ;

/***********FOUND***********/ num/=10 ; } while(num) ; return (k) ; }

main( ) { long n ;

printf(\ scanf(\ printf(\}

8. 下列给定程序中函数fun的功能是:判断一个整数是否为素数,若是素数返回1,否则返回0。

在main()函数中,若fun返回1输出YES,若fun返回0输出NO!。 请改正程序中的错误,使它能得出正确的结果。 #include #include #include int fun(int m) { int k=2;

while (k<=m&&(m%k))

/***********FOUND***********/ k++;

/***********FOUND***********/ if(m==k)

14

return 1; else return 0; }

void main() { int n;

system(\

printf(\scanf(\

if(fun(n)) printf(\ else printf(\}

9. 下列给定程序中函数fun的功能是:用下面的公式见图1 求π的近似值,

直到最后一项的绝对值小于指定的数(参数num)为止。 例如,程序运行后,输入0.0001,则程序输出3.1414。 请改正程序中的错误,使它能输出正确的结果。 #include #include float fun ( float num ) { int s ;

float n, t, pi ;

t = 1 ; pi = 0 ; n = 1 ; s = 1 ; /***********FOUND***********/ while(fabs(t)>=num) {

pi = pi + t ; n = n + 2 ; s = -s ;

/***********FOUND***********/ t = s / n ; }

pi = pi * 4 ; return pi ; }

main( )

{ float n1, n2 ;

printf(\ scanf(\ n2 = fun(n1) ;

printf(\}

10. 下列给定程序中,fun函数的功能是:根据形参m,计算下列公式的值。 t=1+1/2+1/3+1/4+…+1/m

例如,若输入5,则应输出2.283333。

15

本文来源:https://www.bwwdw.com/article/1s6f.html

Top