请编写任意进进制数转换

coolness 2009-11-30 04:02:32
请大家编写,要有效率啊。
...全文
91 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
roniner 2009-11-30
  • 打赏
  • 举报
回复
void conversion(char s[],char s2[],long d1,long d2)
{
int i;
char *p = s;
char *q = NULL;
int s_len = 0;
long sum = 0;
int t;
char c;

while( *p ) {
if( *p > 'A' && *p < 'Z')
*p += ( 'a' - 'A');
p++;
}

while( *s ) {
if( *s >= '9' && *s < '0' )
t = *s - '0';
else
t = *s - 'a' + 10;
sum = sum * d1 + t;
s++;
}

i = 0;
while(1){
t = sum % d2;
if( t <= 9 )
s2[i] = t + '0';
else
s2[i] = t + 'a' - 10;

sum /= d2;
if( sum == 0 )
break;
i++;
}

s2[++i] = '\0';
p = s2;
q = s2+i-1;

while( p < q) {
c = *p;
*p = *q;
*q = c;
p++;
q--;
}

return ;
}

程序思路:
1,字符串转小写。
2. 转为10进制。
3. 根据接口参数转制定的进制。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧