用c语言输入一个十进制数N,将它转换成R进制数后输出。多组数据请处理到文件结束,每组数据占一行,包含两个整数,N和R
时间: 2023-05-20 08:07:07 浏览: 52
以下是C知道的回答:
可以使用以下代码实现:
```c
#include <stdio.h>
int main() {
int n, r;
while (scanf("%d%d", &n, &r) == 2) {
int a[100], cnt = 0;
do {
a[cnt++] = n % r;
n /= r;
} while (n);
for (int i = cnt - 1; i >= 0; i--) {
printf("%d", a[i]);
}
printf("\n");
}
return 0;
}
```
这个程序可以读入多组数据,每组数据包含两个整数N和R,将N转换成R进制数后输出。
相关问题
用c语言写输入一个十进制数N,将它转换成R进制数后再输出。多组数据,请处理到文件结束,每组数据占一行,包含两个整数N和R
以下是代码示例:
```
#include <stdio.h>
// 将一个十进制数转换为R进制数
void convert(int n, int r)
{
if (n == 0) {
return;
}
convert(n / r, r);
printf("%d", n % r);
}
int main()
{
int n, r;
while (scanf("%d %d", &n, &r) != EOF) {
// 调用 convert 函数进行转换并输出结果
convert(n, r);
printf("\n");
}
return 0;
}
```
这是一个简单的 C 语言程序,它可以接收多组数据并将每个数转换成指定进制输出。程序首先读取一个十进制数 N 和目标进制 R,然后调用 convert 函数将 N 转换为 R 进制并输出结果。函数 convert 通过递归实现,每次将 N 除以 R 并输出余数,最后逆序输出各个余数即可得到 R 进制数的表示。程序使用了 scanf 函数读取输入,直到文件结束为止。
输入一个十进制数N,将它转换成R进制数输出c语言
你好!以下是将十进制数转换为R进制数的C语言代码示例:
```c
#include <stdio.h>
void convertToBase(int decimal, int base) {
int quotient = decimal;
int remainder;
int binary[100];
int i = 0;
while (quotient != 0) {
remainder = quotient % base;
binary[i] = remainder;
quotient = quotient / base;
i++;
}
printf("转换后的%d进制数为: ", base);
for (int j = i - 1; j >= 0; j--) {
printf("%d", binary[j]);
}
}
int main() {
int decimal, base;
printf("请输入十进制数: ");
scanf("%d", &decimal);
printf("请输入要转换的进制数: ");
scanf("%d", &base);
convertToBase(decimal, base);
return 0;
}
```
你可以根据需要输入一个十进制数和一个进制数,代码将输出对应的R进制数。请注意,此代码适用于转换小于100位的整数。如果你需要处理更大的数字,请适当调整数组大小。
希望这个代码对你有帮助!如果你还有其他问题,请随时提问。