| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 904 人关注过本帖
标题:大家帮忙看下为什么这个程序总算不出结果
只看楼主 加入收藏
guanzhe
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2011-7-28
结帖率:100%
收藏
 问题点数:0 回复次数:10 
大家帮忙看下为什么这个程序总算不出结果
题目是这样的,求s=1+1/2+1/3+……+1/n;
我是这样做的:
#include<stdio.h>
#include<conio.h>
main()
{
      int i=1,n;
      double sum=0;
      printf("please input the number n:\n");
      scanf("%d",&n);
      while(i<=n)
      {
         sum=sum+1/i;
         i++;
      }
      printf("n=%d,sum=%lf\n",n,sum);
      getch();        
}
结果为什么总是1.00000
???????
搜索更多相关主题的帖子: include please double number 
2011-07-28 11:20
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
程序代码:
#include<stdio.h>
#include<conio.h>
main()
{
      double i=1,n;
      double sum=0;
      printf("please input the number n:\n");
      scanf("%lf",&n);
      while(i<=n)
      {
         sum=sum+1/i;
         i++;
      }
      printf("n=%d,sum=%lf\n",n,sum);
      getch();       
}
1除以任何整数大约1的整数不都是0吗

[ 本帖最后由 laoyang103 于 2011-7-28 15:12 编辑 ]

                                         
===========深入<----------------->浅出============
2011-07-28 11:29
guanzhe
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2011-7-28
收藏
得分:0 
回复 2楼 laoyang103
那咋办呢??不用1除怎么做呢??
2011-07-28 11:31
_改变自己_
Rank: 2
等 级:论坛游民
帖 子:21
专家分:39
注 册:2011-7-26
收藏
得分:0 
sum=sum+1/i; 你是整形/整形结果i>1时候永远是0,
程序代码:
#include<stdio.h>

 #include<conio.h>

 main()

 {
       int i=1,n;
       double sum=0;
       printf("please input the number n:\n");
       scanf("%d",&n);
       while(i<=n)
       {
          sum=sum+1.0/i;//把1改成1.0就OK
          i++;
       }
       printf("n=%d,sum=%0.4f\n",n,sum);
       getch();        

 }
2011-07-28 11:37
zjslwyp
Rank: 2
等 级:论坛游民
帖 子:42
专家分:76
注 册:2011-3-24
收藏
得分:0 
#include<stdio.h>
#include<conio.h>
main()
{
      int i=1,n;
      double sum=0;
      printf("please input the number n:\n");
      scanf("%d",&n);
      while(i<=n)
      {
         sum=sum+1.0/i;//这边要用1.0。而不是1。
         i++;
      }
      printf("n=%d,sum=%lf\n",n,sum);
      getch();        
}

2011-07-28 11:38
icedream89
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2009-10-24
收藏
得分:0 
上面都说完了
2011-07-28 12:01
langhuan
Rank: 2
等 级:论坛游民
帖 子:22
专家分:36
注 册:2011-7-17
收藏
得分:0 
回复 楼主 guanzhe
看看这个程序:
#include<stdio.h>
 #include<conio.h>
 main()
 {
       int i=1,n;
       double sum=0;
       printf("please input the number n:\n");
       scanf("%d",&n);
       while(i<=n)
       {
          sum=sum+1.0/i;//  1/i是整形数据
          i++;
       }
       printf("n=%d,sum=%lf\n",n,sum);
       getch();        
 }
2011-07-28 13:16
cxs365
Rank: 2
等 级:论坛游民
帖 子:32
专家分:30
注 册:2011-5-6
收藏
得分:0 
这个题目有N个人问了N遍,也有N个人回答了N遍。

每天前进一小步!
2011-07-28 13:56
guanzhe
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2011-7-28
收藏
得分:0 
so,,谢了大家~~~~明白了!!哈哈
2011-07-28 15:04
QQ178771789
Rank: 1
等 级:新手上路
帖 子:3
专家分:1
注 册:2011-7-28
收藏
得分:0 
把i声明成float或者double就好了!4楼说过了~
2011-07-28 15:07
快速回复:大家帮忙看下为什么这个程序总算不出结果
数据加载中...
 
   



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

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