|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
先放代码
- //e = 1/1 + 1/1! + 1/2! + 1+3!...当最后一项小于1e-10结束
- #include<stdio.h>
- #include<Windows.h>
- int main(void)
- {
- float result = 1, temp = 1, temp1 = 0;
- int i;
- for(i = 1; temp1< 1e-10; i++)
- {
- temp *= i;
- temp1 = 1/temp;
- result += temp1;
- printf("%.2f/%.2f %.2f\n",1.0,temp,result);
- }
- system("pause");
- return 0;
- }
复制代码
调试之后发现 temp1 < 1e-10 这个条件貌似错了 循环只执行了两次
不过不知道为什么
你条件写反了,应该是temp1>=1e-10,另外temp1初始值应该为1
- //e = 1/1 + 1/1! + 1/2! + 1+3!...当最后一项小于1e-10结束
- #include<stdio.h>
- #include<Windows.h>
- int main(void)
- {
- float result = 1, temp = 1, temp1 = 1;
- int i;
- for(i = 1; temp1>= 1e-10; i++)
- {
- temp *= i;
- temp1 = 1/temp;
- result += temp1;
- printf("%.2f %.2f %.2f\n",1.0,temp,result);
- }
- system("pause");
- return 0;
- }
复制代码
|
|