| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 759 人关注过本帖
标题:将小数八进制转化为十进制
取消只看楼主 加入收藏
z8869113
Rank: 2
等 级:论坛游民
帖 子:44
专家分:14
注 册:2010-12-14
结帖率:75%
收藏
已结贴  问题点数:47 回复次数:1 
将小数八进制转化为十进制
题目如题!题目要求
输入

0.75
0.0001
0.01234567


输出

0.75 [8] = 0.953125 [10]
0.0001 [8] = 0.000244140625 [10]
0.01234567 [8] = 0.020408093929290771484375 [10]
以下是本人编的:
#include<stdio.h>
int main()
{
    int i,k=0,j,z,c;
    float a[3],s[3]={0},q[3],n;
    for(i=0;i<3;i++)               
        scanf("%f",&a[i]);
    for(i=0;i<3;i++)
    {
               
                k=0;
                q[i]=a[i];

                        for(c=0;a[i]!=0;)                  
                    {
                        k=int(a[i]*10);    //这是将小数转为整数,就是将小数点的下一位转为整数
                        c++;              //c记录要除以8的多少次方
                        a[i]=a[i]*10-k;   // 将整数部分减掉
                        
                            for(z=1,j=0;j<c;j++)       //这就是算要除以多少的了
                            {
                                z*=8;
                            }
                            n=k/z;              
                            s[i]+=n;             //把那些数加起来
                    }
            
    }
    for(i=0;i<3;i++)
        printf("%f[8]=%f[10]\n",q[i],s[i]);   
        


    return 0;
}

结果不知道出什么问题了~求解

[ 本帖最后由 z8869113 于 2011-3-26 20:03 编辑 ]
搜索更多相关主题的帖子: 八进制 十进制 
2011-03-26 15:59
z8869113
Rank: 2
等 级:论坛游民
帖 子:44
专家分:14
注 册:2010-12-14
收藏
得分:0 
回复 3楼 ansic
不是啊,是7*8^-1+5*8^-2
2011-03-28 23:21
快速回复:将小数八进制转化为十进制
数据加载中...
 
   



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

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