| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 536 人关注过本帖
标题:1/2的n次方 我写的为什么到3次方的的时候就开始出错 刚学C 望不嫌弃
只看楼主 加入收藏
花开那夏伤
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2015-6-22
结帖率:0
收藏
已结贴  问题点数:20 回复次数:9 
1/2的n次方 我写的为什么到3次方的的时候就开始出错 刚学C 望不嫌弃
程序代码:
#include<stdio.h>
#include<stdlib.h>
void main()
{
    int i,n;
    float d;
    d=(float)1/2;
    for(;;)
    {
        scanf("%d",&n);

        for(i=0;i<n-1;i++)
        {
            d*=d;
        }
        printf("%f\n",d);
    }
    system("pause");
}

 一次方2次方都是正确的到3次方的时候就开始出错了
2015-06-26 18:44
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
d*=d;
d*=(float)1/2;

剑栈风樯各苦辛,别时冰雪到时春
2015-06-26 19:01
花开那夏伤
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2015-6-22
收藏
得分:0 
回复 2楼 林月儿
改过之后仍然不行  到3的时候就出错  能帮我看下是 for语句的条件出错了吗
  谢谢了 整了快3个小时了
2015-06-26 19:20
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
回复 3楼 花开那夏伤
你改了吗?
程序代码:
#include<stdio.h>
#include<stdlib.h>

 main()
{
    int i,n;
    float d;
    d=(float)1/2;
    for(;;)
    {
        scanf("%d",&n);

        for(i=0;i<n-1;i++)
        {
            d*=(float)1/2;
        }
        printf("%f\n",d);
    }
    system("pause");
}

剑栈风樯各苦辛,别时冰雪到时春
2015-06-26 19:30
calix
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:249
专家分:1442
注 册:2015-5-4
收藏
得分:5 
d需要每次初始化一下吧,把d=(float)1/2;放到循环体里面
要不然是在上次计算结果的基础上进行的,结果肯定比预期的小
2015-06-26 19:33
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:5 
回复 5楼 calix
没提示输入,还以为只进行一次

剑栈风樯各苦辛,别时冰雪到时春
2015-06-26 19:41
花开那夏伤
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2015-6-22
收藏
得分:0 
回复 4楼 林月儿
改了,可能我的编译器的问题。我改成
程序代码:
#include<stdio.h>
#include<stdlib.h>

 void main()
{
    int i,n;
    float d;
    d=(float)1/2;
    for(;;)
    {
        d=(float)1/2;
        scanf("%d",&n);

        for(i=0;i<n-1;i++)
        {
            d*=(float)1/2;
        }
        printf("%f\n",d);
    }
    system("pause");
}
  这样才可以   之前的每次到3次方的时候就会跳到4次方的结果  谢谢了
2015-06-26 19:46
花开那夏伤
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2015-6-22
收藏
得分:0 
回复 5楼 calix
  谢谢了 刚学没多久  困我了3个多小时了..
2015-06-26 19:48
api163
Rank: 1
等 级:新手上路
帖 子:5
专家分:7
注 册:2015-3-27
收藏
得分:5 
(floor)1/2不如1.0/2
2015-06-28 18:21
w2009w
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:190
专家分:542
注 册:2015-4-20
收藏
得分:5 
2015-06-28 19:01
快速回复:1/2的n次方 我写的为什么到3次方的的时候就开始出错 刚学C 望不嫌弃
数据加载中...
 
   



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

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