本人在线求解devc++!

1)定义一个函数trans10to16将10进制数转换成16进制格式,要求:
a) trans10to16函数需采用递归的形式定义。
b) trans10to16函数中至少需两个参数,第一个为整型数n,第二个
为字符数组,用于存放转换后的16进制数的四位符号。
2)在main()函数中实现下列操作
a)定义一个长度为5的整型数组numbers,随机生成5个非负整数
(范围0~65535)存入数组。
b)定义一个5行的二维字符数组results。
c) 5次调用trans10to16函数,将numbers中的数据转换为16进制,
并存入results中(每一行存放一个四位的16进制数)。

#include <stdio.h>
#include <stdlib.h>
 
char s[] = "0123456789ABCDEF";
 
void trans10to16(int n,char *a)
{
    if(n==0)
        return;
    *a = s[n%16];
    a--;
    trans10to16(n/16,a);
}
 
int main()
{
    for(int n=0;n<5;n++)
    {
        int d;
        scanf("%d",&d);
        d%=65536;
        char results[4];
        for(int j=0;j<4;j++)
          results[j] = '0';
        trans10to16(d,results+3);
        printf("%d is translated to ",d);
        for(int j=0;j<4;j++)
        {
            printf("%c",results[j]);
        }
        printf("\n");
    }
    system("pause");
    return 0;
}