1. 程式人生 > >4.2題目: 請編寫一個C函式,該函式可以實現將一個整數轉為任意進位制的字串輸出

4.2題目: 請編寫一個C函式,該函式可以實現將一個整數轉為任意進位制的字串輸出

/*編寫一個C函式,該函式可以實現將一個整數轉化為任意進位制的字串輸出*/
#include <stdio.h>
#include <string.h>
void change(char *s,int num,int n)
{
int i=0;
char temp;


while(num != 0)
{
s[i] = num%n;
if(s[i] <= 9)
{
s[i] = s[i]+'0';
}
else
{
switch(s[i])
{
case 10:s[i] = 'A';
break;
case 11:s[i] = 'B';
break;
case 12:s[i] = 'C';
break;
case 13:s[i] = 'D';
break;
case 14:s[i] = 'E';
break;
case 15:s[i] = 'F';
break;
default:break;
}
}
i++;
num = num/n;
}


s[i] = '\0';
    int len = strlen(s);


for(i = 0;i < len/2;i++)
{
temp = s[i];
s[i] = s[len-i-1];
s[len-i-1] = temp;
}
}
int main()
{
int num;
int n;
char src[100];
printf("please input num:\n");
scanf("%d",&num);
printf("please input n:\n");
scanf("%d",&n);


change(src,num,n);
printf("the result is\n%s\n",src);


return 0;
}