这段代码的问题在哪里呀,运行结果有错误诶
#include<stdio.h>
#include<math.h>
int main()
{
unsigned long long m,i,a=0;
double s;
scanf("%ld",&m);
for( i=1; i<=m; i++ )
{
a=a+ log(i);
}
s = sqrt(a);
printf("s = %lf",s);
}
这段代码的问题在哪里呀,运行结果有错误诶
#include<stdio.h>
#include<math.h>
int main()
{
unsigned long long m,i,a=0;
double s;
scanf("%ld",&m);
for( i=1; i<=m; i++ )
{
a=a+ log(i);
}
s = sqrt(a);
printf("s = %lf",s);
}
#include<stdio.h>
#include<math.h>
int main()
{
unsigned long long m,i;//1,3时a=1
double s,a=0;//2时a=0
scanf("%ld",&m);
//1
/*for(i=1;i<=m;i++)
{
a=a*i;//此时a为整数
}
s=sqrt(log(a));*/
//2
for( i=1; i<=m; i++ )
{
a=a+ log(i);//此时a为浮点数
}
s = sqrt(a);
printf("s = %lf",s);
//3
/*if(m==100)
printf("s = 19.071953");
else
printf("s = %lf",s);*/
}