#include<stdio.h>
int main()
{
int n,i,j;
double sum=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
double sww=1;
for(j=1;j<=i;j++)
{
sww=(1.0/j)*sww;
}
sum=sum+sww;
}
printf("%.8lf",sum);
return 0;
}
#include<stdio.h>
int main()
{
int n,i,j;
double sum=1,sww=1;;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
{
sww=(1.0/j)*sww;
}
sum=sum+sww;
}
printf("%.8lf",sum);
return 0;
}
第一个是2.71828180
第二个是2.58683453
因为第一程序放在循环里,每次i的for循环都要重新定义sww=1,而第二个则不会