十进制转二进制八进制十六进制怎么写
不能用%o%x直接输出
#include "stdio.h"
void ptf(int n,int r)
{
int a[100];
int i,j = 0;
char c;
do {
a[j++] = n % r;
n = n / r;
} while (n > 0);
for (i = j - 1; i >= 0; i--){
c = a[i]>9?a[i]-10+'A':a[i]+'0';
printf("%c",c);
}
printf("\n");
}
int main()
{
int n;
printf("请输入一个十进制整数:");
scanf("%d", &n);
printf("转化为二进制的数为:");
ptf(n,2);
printf("转化为八进制的数为:");
ptf(n,8);
printf("转化为十六进制的数为:");
ptf(n,16);
}
如有帮助,望采纳!谢谢!