根据下式求s的值。
s=10!/(1*3*5*...*19)
说明:
(1)10!=1*2*...*10;
(2) 结果保留五位小数;
(3) 要求使用循环实现。
输出结果的形式为:
s=1.23456
参考程序一:
#include<stdio.h>
voidPRINT(double s)
{
FILE *out;
printf("s=%.5f\n",s);
if((out=fopen("result.dat","w+"))!=NULL)
fprintf(out,"s=%.5f",s);
fclose(out);
}
void main()
{
/*考生在此设计程序*/
double s=1;
int i;
for (i=1;i<=10;i++)
s*=(1.0*i)/(2*i-1);
PRINT(s);
}
参考程序二:
#include<stdio.h>
voidPRINT(double s)
{
FILE *out;
printf("s=%.5f\n",s);
if((out=fopen("result.dat","w+"))!=NULL)
fprintf(out,"s=%.5f",s);
fclose(out);
}
void main()
{
/*考生在此设计程序*/
int i;
double t1=1,t2=1;
double s=0;
for(i=1;i<=10;i++)
t1=t1*i;
for(i=3;i<=19;i+=2)
t2=t2*i;
s=t1/t2;
PRINT(s);
}
s=10!/(1*3*5*...*19)
说明:
(1)10!=1*2*...*10;
(2) 结果保留五位小数;
(3) 要求使用循环实现。
输出结果的形式为:
s=1.23456
参考程序一:
#include<stdio.h>
voidPRINT(double s)
{
FILE *out;
printf("s=%.5f\n",s);
if((out=fopen("result.dat","w+"))!=NULL)
fprintf(out,"s=%.5f",s);
fclose(out);
}
void main()
{
/*考生在此设计程序*/
double s=1;
int i;
for (i=1;i<=10;i++)
s*=(1.0*i)/(2*i-1);
PRINT(s);
}
参考程序二:
#include<stdio.h>
voidPRINT(double s)
{
FILE *out;
printf("s=%.5f\n",s);
if((out=fopen("result.dat","w+"))!=NULL)
fprintf(out,"s=%.5f",s);
fclose(out);
}
void main()
{
/*考生在此设计程序*/
int i;
double t1=1,t2=1;
double s=0;
for(i=1;i<=10;i++)
t1=t1*i;
for(i=3;i<=19;i+=2)
t2=t2*i;
s=t1/t2;
PRINT(s);
}