| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 459 人关注过本帖
标题:[原创]求救
只看楼主 加入收藏
mazy
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-9-7
收藏
 问题点数:0 回复次数:2 
[原创]求救
  1. 有一分数序列:2/1,3/2,5/3,8/5……求出这个数列的前20项之和。

#include "stdio.h" main() { int i,temp; float f1=1,f2=2,sum=0; for(i=1;i<=20;i++) { sum=sum+f2/f1; temp=f2; f2=f1+f2; f1=temp; } printf("The sum is %10.6f\n",sum) ; }

#include "stdio.h" main() { int i,temp; float f1=1,f2=2,sum=0; for(i=1;i<=20;i++) { sum=sum+f2/f1; temp=f2; f2=f1+f2; f1=temp; } printf("The sum is %10.6f\n",sum) ; }

第一个程序的输出结果是:32.660259

第二程序的输出结果是:21.00000

里面只有这个不同:第一个程序是定义 f1,f2为float型,而第二个程序定义f1,f2为int 型。

为什么输出结果就不同了呢?

[此贴子已经被作者于2005-9-11 10:03:14编辑过]

搜索更多相关主题的帖子: include 
2005-09-11 10:02
ljked1
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2005-8-31
收藏
得分:0 
????怎么你发的一样啊
估计知道了你的意思了
当是f1,f2是int 时,  f1/f2 得到的结果是int,
你可以把f1是int,f2是float,这样结果是 float
float与int做计算,结果是float

2005-09-11 10:20
mazy
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-9-7
收藏
得分:0 
呵呵。对不起啊。发错了。谢谢你的提醒。我知道哪里错了
2005-09-11 14:40
快速回复:[原创]求救
数据加载中...
 
   



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

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