c语言编程基础题。。

img


看这个文章 就是把输入转成十六进制就可以

如果没理解错的话,程序要求是10进制转16进制,但不能出现A-F的字母吧
解法1:


#include <stdio.h>

int main()
{
    int i,num;
    int arr[32];  //存放余数
    printf("请输入正整数:");
    scanf("%d",&num);
    //将余数放入数组
    for(i=0;num>0;i++)
    {   
        arr[i] = num%16;
        num /= 16; 
    }   
//第1个i--是为了消掉上次循环最后的i++,
//第2个i--是向上取余数
    for(i--;i>=0;i--)
    {   
        printf("%d",arr[i]);
    }   
    printf("\n");
    return 0;
}

解法2:

#include<stdio.h>
int main()
{
    int n,a,b;
    scanf("%d",&n);
    a = n/16;
    b = n%16;
    printf("%d\n",a*10+b);
    return 0;
}