【发布时间】:2018-04-07 22:48:33
【问题描述】:
我为所选数字的 b-adic 表示编写了一个代码。
#include <stdio.h>
int b_adisch (int a, int b)
{
int x, y, mod, mod1;
x = a / b;
mod1 = a % b;
printf("%i\n", mod1);
do {
y = x / b;
mod = x % b;
x = y;
printf("%i\n", mod);
} while(x != 0);
return a ;
}
int main (void)
{
int a, b;
printf("pls input a ");
scanf("%i", &a);
printf("pls input b ");
scanf("%i", &b);
b_adisch(a, b);
return 0;
}
输出顺序会颠倒 因为 printf 必须放入 while 循环,并且计算从表示的最后一个数字开始。
例如 a = 10 和 b = 2
输出为 0101
但应该是 1010
如何更改我的代码以实现这一点?
【问题讨论】:
-
嗯..递归?
-
一周前开始编程所以我不知道这是什么......