想在此基础修改一下 让十进制转十六进制不要反转怎么改哇

img


想在此基础修改一下 让十进制转十六进制不要反转怎么改哇 我想很近 不知道咋搞谢谢

改成递归函数

以下内容部分参考ChatGPT模型:


修改这段代码,去掉反转的部分:

#include <stdio.h>

int main()
{
    int num,rem,i=0,j;
    char hex[50];
    
    printf("Enter a decimal number: ");
    scanf("%d",&num);
    
    while(num>0)
    {
        rem=num%16;
        if(rem<10)
            hex[i]=48+rem;
        else
            hex[i]=55+rem;
        i++;
        num/=16;
    }
    
    printf("Hexadecimal number: ");
    for(j=i-1;j>=0;j--)
        printf("%c",hex[j]);
        
    return 0;
}

改为:

#include <stdio.h>

int main()
{
    int num,rem,i=0;
    char hex[50];
    
    printf("Enter a decimal number: ");
    scanf("%d",&num);
    
    while(num>0)
    {
        rem=num%16;
        if(rem<10)
            hex[i]=48+rem;
        else
            hex[i]=55+rem;
        i++;
        num/=16;
    }
    hex[i]='\0';
    
    printf("Hexadecimal number: %s",hex);
        
    return 0;
}

这样就可以直接输出转化后的十六进制数了,不需要反转。


如果我的建议对您有帮助、请点击采纳、祝您生活愉快