| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 899 人关注过本帖
标题:c语言源程序求错
只看楼主 加入收藏
铁甲依然在
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2010-4-1
结帖率:40%
收藏
已结贴  问题点数:20 回复次数:15 
c语言源程序求错
#include<stdio.h>
 void main()
{
float b,sum,a,n;
b=1;
sum=0;
scanf("%d",&a);
for(n=1;n<=a;n++)
{
    b=b*n;
    sum+=1/b;
}
printf("1+1/2!+……1/n!=%.4f",sum);
}
为什么键入10再回车后,结果是0.0000,至少还有1啊,我想知道如何让1除以非1整数结果不是0而是小数啊
搜索更多相关主题的帖子: c语言 
2010-04-08 18:45
一口三个汉堡
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:155
专家分:525
注 册:2010-3-21
收藏
得分:0 
#include<stdio.h>
void main()
{
float sum;
int a,b,n;//这些定义成整型
sum=0;
scanf("%d",&a);
for(n=1;n<=a;n++)
{
    b=b*n;
    sum+=1.0/b;//把1改成1.0,就会自动转换成单精度
}
printf("1+1/2!+……1/n!=%.4f",sum);
}




[ 本帖最后由 一口三个汉堡 于 2010-4-8 18:56 编辑 ]

坚持做对的事情,而不是容易的事情。
2010-04-08 18:49
铁甲依然在
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2010-4-1
收藏
得分:0 
回复 2楼 一口三个汉堡
改了,还是0.0000啊
2010-04-08 18:53
一口三个汉堡
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:155
专家分:525
注 册:2010-3-21
收藏
得分:10 
我把二楼的答案改了

坚持做对的事情,而不是容易的事情。
2010-04-08 18:57
韩明海
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:253
专家分:749
注 册:2010-4-3
收藏
得分:0 
因为你定义的实行,赋值时最好写成.0          这是规范,实行最好不要用%d
#include<stdio.h>
void main()
{
int a = 0, n = 0;
float  sum = 0.0;
scanf("%d",&a);
for(n=1;n<=a;n++)
{
    sum+=1.0/n;
}
printf("1+1/2!+……1/n!=%.4f",sum);
}试试吧,我不方便上机
2010-04-08 19:00
铁甲依然在
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2010-4-1
收藏
得分:0 
回复 4楼 一口三个汉堡
好了,谢了
2010-04-08 19:04
huiming
Rank: 2
等 级:论坛游民
帖 子:31
专家分:36
注 册:2010-4-8
收藏
得分:0 
scanf("%f",&a);就ok
2010-04-08 23:04
liyang04300
Rank: 2
等 级:论坛游民
帖 子:75
专家分:94
注 册:2010-3-17
收藏
得分:0 
上面兄弟们修改的都是对的,貌似我没有好的编译器,无法运行出结果!呵呵
2010-04-09 09:24
BINGQING
Rank: 2
来 自:武汉
等 级:论坛游民
帖 子:98
专家分:75
注 册:2010-3-29
收藏
得分:0 
#include <stdio.h>
main( )
{
  float sum = 0.0;
  int a=0,i=0;
printf("input a number:");
scanf("%d",&a);
   for( i=0; i<=a;i++)
  {
  sum+=1.0/i ;
  }
printf("1+1/2!+1/3!+''''''1/i! =%.4f ",sum);
}
   
2010-04-09 12:37
kinwyb
Rank: 4
等 级:业余侠客
帖 子:134
专家分:244
注 册:2009-3-7
收藏
得分:0 
#include<stdio.h>
void main()
{
float b,sum,a,n;
b=1;
sum=0;
scanf("%f",&a);
for(n=1;n<=a;n++)
{
    b=b*n;
    sum+=1/b;
}
printf("1+1/2!+……1/n!=%.4f",sum);
}

学习c语言痛苦!!但是要坚持~~
2010-04-10 13:12
快速回复:c语言源程序求错
数据加载中...
 
   



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

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