#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#define random(x) (rand()%x)
// 将整数转换为以base为基的字符串,并返该串。2 <= base <= 36
char *convert(unsigned num,int base,char *s)
{
if (base < 2 || base > 36)
{
printf("进制输入有误,请重新输入\n");
return NULL;
}
unsigned int ch,i,t,n = 0;
while(num)
{
ch = num%base;
if(ch >= 10)
{
s[n] = ch - 10 + 'A';
}
else
{
s[n] = ch + '0';
}
num /= base;
++n;
}
s[n] = '\0';
for(i = 0; i < n / 2; ++i)
{
t = s[i];
s[i] = s[n - 1- i];
s[n - 1 - i] = t;
}
return s;
}
int main()
{
int num;
char s[81];
srand((int)time(0));
cout<<"begin"<<endl;
for (int i = 1 ; i < 10 ;i++)
{
num = random(100);
printf("10进制的%d转换为%2d进制是 : %s\n",num,16,convert(num,16,s));
}
return 1;
}