输入一个十进制数,用算法将这个数分别转换为八进制和十六进制数。

输入一个十进制数,用算法将这个数分别转换为八进制和十六进制数。

#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");
}