交个朋友吧

C 将十进制数转换成二~十六进制数中的任意一种

问题:将一个十进制整数转换成二~十六进制数中的任意一种进制数

代码:

#include <stdio.h>
#include <stdlib.h>

int b;
int i = 0;
int c[50];
int n;

void main()
{
    char base[] = "0123456789ABCDEF";
    int j,m;

    void convert();    //函数声明
    printf("请输入一个十进制数:\n");
    scanf("%d",&n);
    printf("请输入转换的进制基数:\n");
    scanf("%d",&b);
    m = n;

    convert();
    printf("%d转换成%d进制为:",m,b);
    // 逆序输出
    for(i--;i >= 0;i--)
    {
        j = c[i];
        printf("%c",base[j]);
    }
    printf("\n");
}

void convert()
{
    while(n != 0)
    {
        c[i] = n % b;
        n = n / b;
        i++;
    }
}

posted @ 2020-03-07 21:38  PamShao  阅读(389)  评论(0)    收藏  举报