用c语言写一个程序,输入整数m,n,将m转成n进制整数并输出
时间: 2023-05-20 11:04:15 浏览: 100
以下是用C语言编写的程序,可以将整数m转换为n进制整数并输出:
```c
#include <stdio.h>
void convert(int m, int n) {
if (m == 0) {
return;
}
convert(m / n, n);
int remainder = m % n;
if (remainder < 10) {
printf("%d", remainder);
} else {
printf("%c", 'A' + remainder - 10);
}
}
int main() {
int m, n;
printf("请输入要转换的整数m和进制n:");
scanf("%d %d", &m, &n);
printf("%d转换为%d进制的结果为:", m, n);
if (m < 0) {
printf("-");
m = -m;
}
convert(m, n);
printf("\n");
return 0;
}
```
如果你输入的m和n分别是10和2,那么程序的输出将是:1010。
注意,这个程序只适用于将正整数m转换为n进制整数,如果m是负数或者n不是正整数,程序将无法正确处理。
相关问题
用c语言编写程序,输入整数m,n,将m转成n(n<36)进制整数并输出。
#include <stdio.h>
#include <string.h>
int main() {
int m, n;
printf("请输入整数m和n:");
scanf("%d%d", &m, &n);
char result[100] = ""; // 存储转换结果的字符数组
int i = 0;
while (m != 0) {
int remainder = m % n;
if (remainder < 10) {
result[i] = remainder + '0'; // 将数字转成字符
} else {
result[i] = remainder - 10 + 'A'; // 将字母转成字符
}
i++;
m /= n;
}
if (strlen(result) == 0) { // 特判m为0的情况
result[0] = '0';
}
printf("转换结果为:%s\n", strrev(result)); // 注意要反转字符数组
return 0;
}
输入一个十进制数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位的整数。如果你需要处理更大的数字,请适当调整数组大小。
希望这个代码对你有帮助!如果你还有其他问题,请随时提问。