首页 > 代码库 > 循环 5.2 do{}while();

循环 5.2 do{}while();

1-1/2+1/5-1/10+1/17+……(要求最后一项小于10-5  

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int n=0,count=-1;
 5     float S=0,temp;
 6     count*=(-1);
 7     temp=count/(n*n+1);
 8     do
 9     {
10         S=S+temp;
11         n=n+1;
12         count=count*(-1);
13         temp=(float)count/(n*n+1);
14     }
15     while((n*n+1)<=100000);
16     printf("%f\n",S);
17     return 0;
18 }

result:0.636019

 1 #include<stdio.h>
 2 #include<math.h>
 3 int main()
 4 {
 5     int n=0,count=-1;
 6     float S=0,temp;
 7     count*=-1;
 8     temp=count/(n*n+1);
 9     do
10     {
11         S+=temp;
12         n+=1;
13         count*=-1;
14         temp=(float)count/(n*n+1);
15     }
16     while(fabs(temp)>0.00001);
17     printf("%f\n",S);
18     return 0;
19 }

result:0.636019

循环 5.2 do{}while();