#include
int main(void)
{int n=0;
double i=1;//统一用double
double sum=1 ;//1是开始
i=1;
scanf("%d",&n);
//while(i=1)break; 这个有问题,我猜你应该是想做判断吧
if(n==1){
printf("1");
}else{
//while(i!=1 && i<=n) 这个也是
while(i{//sum=1+i*1.0/(i+2.0);
sum += (i+1)/(i*2+1);
i++;
}
printf("1+2/3+3/5+4/7+5/9+……=%lf\n",sum);
}
return 0;
}
当然,我没跑过,出问题了再追问,到时候把结果附上
#include
int main(void)
{
int i=0,n=0;
double sum=0.0;
scanf("%d",&n);
/*
while(i=1)break;
printf("1");
while(i!=1 && i<=n)
{sum=1+i*1.0/(i+2.0);
i++;
}
*/
for(i=1;i<=n;i++)
{
sum+=(1.0*i)/(2*i-1);
}
printf("1+2/3+3/5+4/7+5/9+……=%lf\n",sum);
return 0;
}
示例运行结果:
2
1+2/3+3/5+4/7+5/9+……=1.666667
10
1+2/3+3/5+4/7+5/9+……=6.066628
整形除以整形结果去掉余数,2/3 == 0
不要我们整形定义变量