函数实验题请求大家一起解答

img


请问这个题用c语言怎么写?谢谢大佬

#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()
{
    srand(time(NULL));
    int numbers[5];
    for(int i=0;i<5;i++)
        numbers[i] = rand()%65536;
    char results[5][4];
    for(int i=0;i<5;i++)
        for(int j=0;j<4;j++)
        results[i][j] = '0';
    for(int i=0;i<5;i++)
        trans10to16(numbers[i],results[i]+3);
    for(int i=0;i<5;i++)
    {
        printf("%d is translated to ",numbers[i]);
        for(int j=0;j<4;j++)
        {
            printf("%c",results[i][j]);
        }
        printf("\n");
    }
    system("pause");
    return 0;
}