|
发表于 2019-9-16 08:51:07
From FishC Mobile
|
显示全部楼层
|阅读模式
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
求1-1/2+1/3......+1/99-1/100的和
为什么我这样写算不出结果
#include<studio.h>
int main()
{ double sum=0;
float a=1.0,b=0,n=-1.0;
while(520)/*我的想法:随便输入一个为真的数,下面符合if条件时直接break*/
{ a=1.0;
n=n*(-1);
b=(b+1)*n;
a=a/b;
sum=sum+a;
if(b=101)/*如果用==就不出答案,无限死循环,不知道为什么*/
break;
}
printf(“sum=%lf”,sum);
/*算出来的sum=1,不知道错哪了,麻烦dalao帮忙看看,手机打的,有些没对齐*/
}
本帖最后由 superbe 于 2019-9-16 11:29 编辑
- #include <stdio.h>
- int main()
- {
- double sum=0;
- float a=1.0,b=0,n=-1.0;
- while(520)
- {
- a=1.0;
- n=n*(-1);
- b=b+1; //b=1,2,3,4... 如果*n就出现负数,永远不会到101
- a=a/(b*n); //把*n挪到这里
- sum=sum+a;
- if(b==100) break; //应该是b==100吧
-
- }
- printf("sum=%lf",sum);
- return 0;
- }
复制代码
原来代码b=(b+1)*n,由于n=1,-1,实际循环中b的值是1,-2,-1,0,1,-1,-1,0,1,-2......,永远不会到101,所以死循环了。
|
|