输入一个十进制数,用算法将这个数分别转换为八进制和十六进制数。
#include<stdio.h>
int main()
{
int n, q;
int i, j;
char a8[100], a16[100];
char b[16] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
printf("请输入一个整数:\n");
scanf("%d",&n);
//计算八进制
q = n;
for(i=0; q ;a8[i]=q%8,q/=8,i++);
printf("八进制:\n");
for(j=i-1;j>=0;j--)printf("%d",a8[j]);
printf("\n");
//计算十六进制
q = n;
for(i=0; q; a16[i]=q%16,q/=16,i++);
printf("十六进制:\n");
for(j=i-1;j>=0;j--)printf("%c",b[a16[j]]);
printf("\n");
}