| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 585 人关注过本帖
标题:帮看一个程序,执行答案错误!
只看楼主 加入收藏
ly913
Rank: 1
等 级:新手上路
帖 子:17
专家分:5
注 册:2010-5-31
结帖率:71.43%
收藏
已结贴  问题点数:10 回复次数:5 
帮看一个程序,执行答案错误!
#include<stdio.h>
long fac(int k)
{ int t;
  long f=1;
  for(t=1;t<=k;t++)
  f*=t;
  return f;
}
main()
{ int i;
  long s=0,p;
  for(i=1;i<=10;i++)
      p=fac(i);
      s+=1/p;
      printf("%f",s);
}
题目是求1/1!+1/2!+1/3!+```+1/10!=???
搜索更多相关主题的帖子: long 
2010-06-30 23:39
不归鹄
Rank: 9Rank: 9Rank: 9
来 自:冥王星
等 级:蜘蛛侠
威 望:4
帖 子:491
专家分:1380
注 册:2009-12-20
收藏
得分:3 
把for语句改成
for(i=1;i<=10;i++)
{
    p=fac(i);
    s+=1/p;
}
就好了

2010-07-01 01:01
vs_inzaghi
Rank: 5Rank: 5
来 自:湖北
等 级:职业侠客
威 望:1
帖 子:303
专家分:364
注 册:2009-8-17
收藏
得分:3 
2楼正解;
另外,关于for的良好的程序风格应该是下面的
for (initialization; condition; update)
{
dosomething();
}
// 空行
other();

关于for的不良程序风格是这样的
for (initialization; condition; update)
     dosomething();
other();

建议你尝试着for循环里哪怕至于只一条语句都加上括号,这样就不会出现你这样的问题了……
以上参考自《高质量C++_C编程指南》(林锐)

我很懒,但我讨厌别人说我懒……
2010-07-01 06:50
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
收藏
得分:3 
把for语句改成
for(i=1;i<=10;i++)
{
    p=fac(i);
    s+=1/p;
}
二楼正解

欢迎来到我的博客:http://blog..cn/noisunyuhong
2010-07-01 08:57
ly913
Rank: 1
等 级:新手上路
帖 子:17
专家分:5
注 册:2010-5-31
收藏
得分:0 
按二楼改了下编译出来这个东西了runtime error R6002
                              - floating point not loaded
                              Press any key to continue  
何解???
2010-07-06 14:47
DestinyLord
Rank: 2
等 级:论坛游民
帖 子:26
专家分:41
注 册:2010-6-1
收藏
得分:3 
应该是float型装不下吧??你试下用long double,阶乘很大的

逆风的方向,更适合飞翔!
2010-07-06 18:28
快速回复:帮看一个程序,执行答案错误!
数据加载中...
 
   



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

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