| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 474 人关注过本帖
标题:关于任意数制间转换的问题
取消只看楼主 加入收藏
雪松2009
Rank: 1
等 级:新手上路
帖 子:16
专家分:1
注 册:2010-5-22
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:2 
关于任意数制间转换的问题
现在我想将输入的数据从指定的进制 转换成想要的进制 是一个什么思路 要求用递归
比如输入 2 3,即将输入的10101 转换成3进制的
搜索更多相关主题的帖子: 数制 
2010-06-21 16:24
雪松2009
Rank: 1
等 级:新手上路
帖 子:16
专家分:1
注 册:2010-5-22
收藏
得分:0 
#include "string.h"
#include"stdio.h"
#include"stdlib.h"
int main()
{
    int n1,n2,i,j,k,z,h,c,m=1,a[50],l;
    char b[30];
    scanf("%d %d\n",&n1,&n2);
    for(c=0;c<4;c++)
    {scanf("%s",b);
    if(b[30]=='0') {m=-1;}
    l=strlen(b);
    for(i=0;i<l;i++)
    { if(b[i]>=48&&b[i]<=57) a[i]=b[i]-48;
      else   a[i]=b[i]-55; }
    h=a[0];
    for(i=0;i<l-1;i++)
    { h=h*n1+a[i+1];}
    for(i=0;h!=0;i++)
     {a[i]=h%n2; h=h/n2; }  
    for(j=i-1;j>=0;j--)
    {if(a[j]>=0&a[j]<=9) a[j]=a[j]+48;
    else   a[j]=a[j]+55;}
    for(z=0;z<=i-1;z++)
    {printf("%c",a[z]);}
    printf(" ");}
    printf("\n");
    system("PAUSE");
   return 0;
}
关于这个程序 当输入
2 3
11 100 1111 0时为何出现无效内存引用的情况
2010-06-21 22:02
雪松2009
Rank: 1
等 级:新手上路
帖 子:16
专家分:1
注 册:2010-5-22
收藏
得分:0 
不是递归  用的是循环 但是该怎样改呢?多谢了
2010-06-22 13:45
快速回复:关于任意数制间转换的问题
数据加载中...
 
   



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

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