作业帮 > 综合 > 作业

编写函数T(n,m)把m进制正整数n转换成十进制正整数,m为1~10的整数.调用函数T得出结果

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/04/27 21:19:04
编写函数T(n,m)把m进制正整数n转换成十进制正整数,m为1~10的整数.调用函数T得出结果
int T(int n,int m)
{
\x05if (m > 10 || m < 2) return -1;
\x05int x = n;
\x05int k;
\x05int result = 0;
\x05int powNum = 1;
\x05do{
\x05 k = x % 10; //获取一位m进制数字
\x05 if (k > m -1){
\x05 //检查数字的合法性,是否m进制数字
\x05 return -1; //非法数字返回-1
\x05 }
\x05 result += k * powNum; //将这一位m进制数字换算成10进制
\x05
\x05 x = x / 10; //去掉已经计算的位
\x05 powNum *= m; //更新powNum
\x05
\x05}while (x > 0);
\x05return result;
}
另外1进制是没有意义的
再问: 你给的我基本上看懂了,可是怎么一调试就不行呢,后面的是从文件中读入时的判断是否合法。 运行以后的结果是134514299
再答: 要获得返回值: result = T(n,m);