【发布时间】:2019-11-27 00:21:25
【问题描述】:
我尝试在 C 中将一个以 10 为底的数字转换为以 6 为底的数字,但我的代码没有通过 2 个隐藏的测试用例。
我找不到任何逻辑错误。
可以吗?
//convert base 10 to base 6
#include<stdio.h>
int main()
{
int num, rem = 0, i = 1, res = 0;
scanf("%d", &num);
while(num!=0)
{
rem = num%6;
res = (rem*i)+res;
num = num/6;
i = i*10;
}
printf("%d",res);
}
【问题讨论】:
-
不检查溢出。
-
这是一个 C 或 C++ 问题吗?测试的规范是什么?
-
请展示挑战或家庭作业。有了一些经验(StackOverflow 用户会提供),通常你可以从那里阅读测试用例。
-
@ikegam 这是 C 题
-
@Viky 使用字符串/字符而不是
int构建您的以 6 为基数的数字。基本循环有效,但数字的构建无效。
标签: c logic base base-conversion