C语言一道求程序运行结果题,一直看不懂,求大虾详细解释下!谢谢了!

2024-12-29 04:51:25
推荐回答(3个)
回答1:

把y转化为d进制,
do{
t=x%d; //t为x除d后的余数,即为d进制数的某一位上的数
if(t<10)
a[i]=t+'0'; //如果余数为0--9,则这一位上的数就是t,不过最后显示的d进制数可能有字母,所以就要将它转化为ASCII码中字符0-9,A-Z
else
a[i]=t-10+'A';
i++;
x=x/d;//当低位的数搞定后,要将剩下的数转化为d进制,这个时候就要把余数去掉
}while(x);

回答2:

converse(m,n) 将十进制数 m 转为 n进制数 并输出

思路是
m =x1 * n^0 + x2 * n^1 +x3 * n^2 +````````+xk * n^k

输出的 xk xk-1 xk-2`````x2 x1 这一串 便是 十进制数 m 转为 n进制数得到的结果了

回答3:

converse(int y, int d)实现将变量y中的数据,按 d 中进制,进行字符化输出。
如题:converse(20,2), 就是将十进制数 20 的以二进制形式进行输入。