sdibt 2552 计算1 - 1/2 + 2/3 - 3/5 + 5/8 - 8/13 + 13/21…前n项

来源:互联网 发布:排名易淘宝刷流量软件 编辑:程序博客网 时间:2024/05/17 04:14

如何sum定义为double就错了 定义为float就对了 不知道为什么

这道题存储办法和斐波那契数列存储思想相同

#include <stdio.h>int main(int argc, char *argv[]){int n;float sum;while(scanf("%d",&n)!=EOF){if(n==1)  printf("1.000000\n");else{   double f1,f2,f3;   f1=1;   f2=2;   sum=1;   int cas=1;   while(cas<n)   {     if(cas%2==1) sum-=f1/f2;     else sum+=f1/f2;     f3=f1+f2;     f1=f2;     f2=f3;     cas++;   }   printf("%.6f\n",sum);}}return 0;}


 

 

 

原创粉丝点击