| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 626 人关注过本帖
标题:编写函数 输入16进制函数 输出十进制函数 请大家帮忙看一下
只看楼主 加入收藏
jude1990
Rank: 2
等 级:论坛游民
帖 子:29
专家分:12
注 册:2009-7-26
结帖率:85.71%
收藏
已结贴  问题点数:20 回复次数:6 
编写函数 输入16进制函数 输出十进制函数 请大家帮忙看一下
//自己把很多地方都省略了 比如在主函数内对输入的判断    仍然有问题   
//LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
//Debug/Cpp1.exe : fatal error LNK1120: 1 unresolved externals
//从来没有见过这样的报错   希望大家能帮找一下错  我是菜鸟  对函数这块不是很熟……  
#include<stdio.h>
void mian()
{   int f16(int);
    int f(int a[]);
    int a[10]={0},i;
    printf("input a number:\n");
    for(i=0;i<=10;i++)
        scanf("%d",&a[i]);
    printf("%d\n",f(a));
}
 int f16(int n)
 {
     int i,temp=1;
     for(i=0;i<n;i++)
         temp=temp*16;
     return temp;
 }

 int f(int a[])
 {
     int i,j,sum=0;
     for(i=9;i>=0;i--)//这儿是找到数开始的地方  比如123af00000   j=5
         if(a[i]!=0)
         {j=i;
          break;
         }
     for(i=0;i<10;i++)
           if(a[i]>=65&&a[i]<=70)
                 a[i]=a[i]-55;//换算
     for(i=0;i<=j,j>=0;i++,j--)
          sum=sum+a[i]*f16(j-i);//这儿的计算方法sum=sum+a[i]*16^(j-i)  比如i=0       1*16^4+…    这儿十六的指数写了一个函数f16
        return sum;
     }
搜索更多相关主题的帖子: 位制转换 报错 
2009-08-12 17:59
jude1990
Rank: 2
等 级:论坛游民
帖 子:29
专家分:12
注 册:2009-7-26
收藏
得分:0 
对不起 斑竹   ie 后退时 不小心  重新发了帖子……   
2009-08-12 18:00
西园竹
Rank: 5Rank: 5
等 级:职业侠客
帖 子:41
专家分:305
注 册:2009-8-8
收藏
得分:20 
void mian()
main写错
2009-08-12 19:40
jude1990
Rank: 2
等 级:论坛游民
帖 子:29
专家分:12
注 册:2009-7-26
收藏
得分:0 
谢西竹园————   
我太不认真了   我再试着调试一下……
2009-08-12 20:13
jude1990
Rank: 2
等 级:论坛游民
帖 子:29
专家分:12
注 册:2009-7-26
收藏
得分:0 
我的这个思路解决16到10 有点问题    最后改成了8到10  
程序运行通过  如下
#include<stdio.h>
void main()
{   int f8(int);
    int f(int a[]);
    int a[10]={0},i;
    printf("input a number:\n");
    for(i=0;i<10;i++)
        scanf("%d",&a[i]);  
    printf("%d\n",f(a));
}
int f8(int n)
{
     int i,temp=1;
     for(i=0;i<n;i++)
         temp=temp*8;
     return temp;
}
 
int f(int a[])
{
     int i,j,sum=0;
     for(i=9;i>=0;i--)//这儿是找到数开始的地方  比如123af00000   j=5
         if(a[i]!=0)
         {j=i;
          break;
         }
 
     for(i=0;i<=j,j>=0;i++,j--)
          sum=sum+a[i]*f8(j-i);//这儿的计算方法sum=sum+a[i]*8^(j-i)  比如i=0       1*8^4+…    这儿十六的指数写了一个函数f8
        return sum;
     }
2009-08-12 22:13
ljc_zy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:56
专家分:131
注 册:2009-7-14
收藏
得分:0 
算法还可以改进。输入数据没有做校验,呵呵。

恋恋花事 www.
2009-08-12 22:33
kongbei312
Rank: 2
等 级:论坛游民
帖 子:44
专家分:26
注 册:2011-6-15
收藏
得分:0 
呵呵,学习一下
2011-07-05 17:13
快速回复:编写函数 输入16进制函数 输出十进制函数 请大家帮忙看一下
数据加载中...
 
   



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

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