使用辗转相除法将一个非负十进制数转换为9进制的数的c语言代码
时间: 2023-06-09 16:08:00 浏览: 98
以下为使用辗转相除法将一个非负十进制数转换为9进制的数的C语言代码:
```c
#include <stdio.h>
int main()
{
long long decimal, quotient, remainder;
int i = 1, j;
printf("Enter a non-negative decimal number: ");
scanf("%lld", &decimal);
quotient = decimal;
char nine[32] = {0};
while (quotient != 0)
{
remainder = quotient % 9;
nine[i++] = remainder + '0';
quotient = quotient / 9;
}
printf("The 9-ary number of the decimal number %lld is: ", decimal);
for (j = i - 1; j > 0; j--)
printf("%c", nine[j]);
return 0;
}
```
注:该代码使用long long类型来存储输入的非负十进制整数,使用辗转相除法将该数转换为9进制数,并将结果以字符形式输出。
相关问题
c语言使用辗转相除法将一个非负十进制数转换为9进制的数
首先,我们将该十进制数不断除以9并记录余数,直到商为0。然后将余数倒序组合即可得到9进制数。
下面是使用C语言实现的代码:
```
#include <stdio.h>
int main() {
int decimal, remainder, quotient;
int n = 0; // 余数的个数
int result[100]; // 存放余数
printf("请输入一个非负十进制数:");
scanf("%d", &decimal);
while (decimal != 0) {
remainder = decimal % 9; // 求余数
result[n] = remainder; // 存储余数
n++;
decimal /= 9; // 求商
}
printf("转换后的9进制数为:");
for (int i = n - 1; i >= 0; i--) {
printf("%d", result[i]);
}
printf("\n");
return 0;
}
```
输入一个非负十进制数(例如:110),运行程序后可以得到输出:
```
请输入一个非负十进制数:110
转换后的9进制数为:134
```
使用辗转相除法将一个非负十进制数转换为9进制的数
好的,让我来帮你解答这个问题。用辗转相除法将一个非负十进制数转换为9进制数的步骤如下:
1. 将十进制数不断除以9,直到商小于9为止。
2. 把每次的余数从下往上排列,就是这个数的9进制表示。
例如,将十进制数67转换成9进制数:
67 ÷ 9 = 商7余4
7 ÷ 9 = 商0余7
所以67的9进制表示为74。希望这个解答可以帮助到你,如果你还有其他问题,可以随时问我。
阅读全文