| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 8363 人关注过本帖
标题:求2/1+3/2+5/3+8/5+13/8......
只看楼主 加入收藏
yj269172025
Rank: 2
等 级:论坛游民
帖 子:41
专家分:81
注 册:2011-9-29
收藏
得分:0 
虽然1e2 == 100,但是在表达式里面没有说明就是0,所以它不会进入循环,
这样应该就能解决:int a = 1e2;   while(sun<a){}
还有i/j这个得数也是整数,即使循环进入了,估计得数你也不会满意
2011-10-22 22:25
c602004164
Rank: 2
等 级:论坛游民
帖 子:5
专家分:18
注 册:2011-9-29
收藏
得分:0 
做除法时进行强制转换,转成fioat即可
2011-10-22 23:06
tan2010
Rank: 2
等 级:论坛游民
帖 子:66
专家分:71
注 册:2011-10-13
收藏
得分:0 
你程序出现了覆盖,我之前也有这样的问题。这是我写的程序:
#include<stdio.h>
#include<math.h>
void main()
{
    int i=2,j=1;
    float t,sum=0;
    while(sum<100)
    {
        sum=sum+i/j;
        t=i+j;j=i;i=t;
    }
    printf("%f",sum);
    printf("\n");
}
2011-10-23 00:25
sophia115416
Rank: 2
等 级:论坛游民
帖 子:7
专家分:22
注 册:2010-6-24
收藏
得分:0 
//2/1+3/2+5/3+8/5+13/8......
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
   
   
    int x=1;
    int y=2;
    int temp=0;
    float i,j,t;
    float sum;
    while (sum<100) {
        i=float(x);
        j=float(y);
        temp=y;
        y=y+x;
        x=temp;
        t=j/i;
        sum=sum+t;
        
    }
   
    cout<<"结果是:"<<endl;
    cout<<sum<<endl;
 
   
    return 0;
}
2011-10-23 15:01
快速回复:求2/1+3/2+5/3+8/5+13/8......
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021597 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved