填空题
7.8 以下程序的输出结果是____。
unsigned fun6(unsigned num)
{ unsigned k=1;
do
{ k*=num%10; num/=10; }
while(num);
return k;
}
main()
{ unsigned n=26;
printf("%d\\n",fun6(n);
}
答案:12
7.9 以下程序的输出结果是____。
double sub(double x,double y,double z)
{ y-=1.0;
z=z+x;
return z;
}
main()
{ double a=2.5,b=9.0;
printf("%f\\n",sub(b-a,a,a));
}
答案:9.000000
7.10 以下程序的输出结果是____。
fun1(int a,int b)
{ int c;
a+=a; b+=b;
c=fun2(a,b);
return c*c;
}
fun2(int a,int b)
{ int c;
c=a*b%3;
return c;
}
main()
{ int x=11,y=19;
printf("%d\\n",fun1(x,y));
}
答案:4
7.11 下面pi函数的功能是,根据以下公式返回满足精度ε要求的π的值。请填空。
π/2 = 1 + 1/3 + (1/3)*(2/5) + (1/3)*(2/5)*(3/7) +
(1/3)*(2/5)*(3/7)*(4/9) + ...
double pi(double eps)
{ double s=0.0,t=1.0;
int n;
for(_____; t>eps; n++)
{ s+=t;
t=n*t/(2*n+1);
}
return (2.0*_____);
}
答案:n=1、s
7.12 以下函数用以求x的y次方。请填空。
double fun(double x, int y)
{ int i; double z;
for(i=1; i_____; i++)
z=_____;
return z;
}
答案:<=y、z*x
7.13 以下程序的功能是计算s=0!+1!+2!+3!+...+n!。请填空。
long f(int n)
{ int i; long s;
s=_____;
for(i=1; i<=n; i++) s=_____;
return s;
}
main()
{ long s; int k,n;
scanf("%d",&n);
s=_____;
for(k=0; k<=n; k++) s=s+_____;
printf("%ld\\n", s);
}
答案:1L、s*i、0、f(k)