编写函数T(n,m)把m进制正整数n转换成十进制正整数,m为1~10的整数.调用函数T得出结果
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/11 10:22:18
编写函数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);
{
\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);
编写函数T(n,m)把m进制正整数n转换成十进制正整数,m为1~10的整数.调用函数T得出结果
存在一十进制数(正整数)n,以及一个进制m,编写程序将n转换为m进制表示并输出.
定义一个函数求F=(N+M)!+N!,M,N均为正整数.要求用递归调用
输入两个正整数m,n,编写求阶乘的函数,计算m!/(n!*(m-n)!). C语言函数解答,谢谢.
证明:4/1(m*m+n*n-m-n)必为整数..m,n都是正整数...
编写函数fun,它的功能是:根据以下公式求p的值,结果由函数值带回.m与n为两个正整数且要求m>n.
编写一个函数功能是求两个正整数m和n的最大公约数
C语言 编写函数:输入两个正整数m,n,求它们的最大公约数和最小公倍数
编写函数:输入两个正整数m,n,求它们的最大公约数和最小公...
编写一个函数fact,按下面的计算公式计算并输出S的值:S=m!/(n!(m-n)!其中m与n为两个正整数,且知m=10
C语言编写两个函数,分别求其最大公约数和最小公倍数.并在主函数中输入任意两个正整数m和n,调用前两个函
定义函数求F=(m+n)!+m!,m,n均是任意正整数,要求使用递归调用.请问错误在哪 正确的应该怎么写