| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1556 人关注过本帖
标题:数制转换 帮找错
取消只看楼主 加入收藏
vtanjingwly
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-6-11
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
数制转换 帮找错
我们通常使用的都是十进制的数字,但其实在生活中也经常会使用其它进制。

这个题目会给你两个不同的数字,它们不属于同一进制,要求你计算出当它们分别处于何种进制之中时,两个数字相等。譬如 12 和 5 ,在十进制下它们是不等的,但若 12 使用 3 进制而 5 使用六进制或十进制时,它们的值就是相等的。因此只要选择合适的进制, 12 和 5 就可以是相等的。

程序的输入是两个数字 M 和 N( 其十进制的值不超过 1000000000) ,它们的进制在 2~36 之间。对于十以下的数字,用 0~9 表示,而十以上的数字,则使用大写的 A~Z 表示。

求出分别在 2~36 哪种进制下 M 和 N 相等。若相等则输出相应的进制,若不等则输出错误信息。当然了,对于多种可能成立的情况,找出符合要求的进制最小的一组就行了。信息的格式见测试用例。

12 5↵
 以文本方式显示
1.12 (base 3) = 5 (base 6)↵
我编了一个 无法输出 求指点
#include"stdio.h"
#include"string.h"
int power(int x,int y)
{int s=1;
y=y-1;
while(y-->0)
{s*=x;
}
return s;
}
char* num(char*a )
{int i,j;
char*p;
    while(*a++!='\0')
        if(*a++>='A'&&*a++<='Z')
        *p++=(*a++)-'A'+10;
        else
            *p++=*a++;
        *p++='\0';
        puts(p);
        return p;
}
int deci(int x,char *a)
{int s=0,i=strlen(a);
char*p;
int n;        
p=num(a);
while(*p++!='\0')
{n=power(x,i--);
    s+=(*p++)*n;
}
return s;
}

 int main()
{int i,j,n,flag=1;
int m;
char a[1000],b[1000];
gets(a);
gets(b);
for(i=2;i<=36;i++)
for(j=2;j<=36;j++)
{n=deci(i,a);
m=deci(j,b);
printf("%d",n);
if(m==n){printf("%s(base on %d)=%s(base on %d)\n",a,i,b,j);flag=0;break;}
}
if(flag==1) printf("no");
return 0;}

 
搜索更多相关主题的帖子: 十进制 
2016-06-11 18:21
vtanjingwly
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-6-11
收藏
得分:0 
回复 4楼 grmmylbs
请问:为什么要申请内存?
2016-06-12 16:40
vtanjingwly
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-6-11
收藏
得分:0 
回复 3楼 孤独城堡
改了也不行 得不出结果啊!
2016-06-12 16:40
vtanjingwly
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-6-11
收藏
得分:0 
回复 7楼 grmmylbs
while (*a != '\0')
    {
        if (*a >= 'A'&&*a <= 'Z')
            *p = (*a) - 'A' + 10;
        else
            *p = *a;
        a++;
        p++;
    }
    *p = '\0';
不知道*p = '\0';是否必须?
2016-06-12 20:47
快速回复:数制转换 帮找错
数据加载中...
 
   



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

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