用c语言写一个把十进制正整数转化成R进制
时间: 2023-05-28 07:07:19 浏览: 230
的函数,其中R为2~16之间的整数。
```c
#include <stdio.h>
#include <string.h>
void decimalToR(int n, int R){
char result[100];
int i = 0;
while(n > 0){
int remainder = n % R;
if(remainder < 10){
result[i++] = remainder + '0';
}else{
result[i++] = remainder - 10 + 'A';
}
n /= R;
}
for(int j = i-1; j >= 0; j--){
printf("%c", result[j]);
}
}
int main(){
int n, R;
printf("请输入一个十进制正整数:");
scanf("%d", &n);
printf("请输入R的值(2~16之间的整数):");
scanf("%d", &R);
if(R < 2 || R > 16){
printf("R的值必须在2~16之间!\n");
return 0;
}
printf("%d的%d进制表示为:", n, R);
decimalToR(n, R);
printf("\n");
return 0;
}
```
使用方法:
1. 编译运行程序;
2. 输入一个十进制正整数;
3. 输入R的值(必须为2~16之间的整数);
4. 程序输出该十进制正整数的R进制表示。
阅读全文