写一个函数itob(int n,char s[], int b),将整数n转换为以b进制的数。保存到s中。

#include<stdio.h>
#include<stdlib.h>

void itob(int n, char s[],int b)//整数n转换为以b进制的数
{
	int i = 0;
	int start = 0;
	int end = 0;
	
	if ((b == 2) || (b == 8))//2进制和8进制
	{
		while (n)
		{
			s[i] = n%b + '0';
			n = n / b;
			i++;
		}
		
	}
	
	else if (b == 16)//16进制
	{
		while (n)
		{
			s[i] = "0123456789abcdef"[n%16];
			char*p="0123456789abcdef";
			s[i]=p[n%16];
			即*(p+(N%16))
		n = n / 16;
		i++;
		}
		
	}
	end = i - 1;
	
	while (start < end)
	{
		char tmp = s[start];
		s[start] = s[end];
		s[end] = tmp;
		start++;
		end--;
	}
	s[i] = '\0';
}

int main()
{
	char arr[32];
	int n = 0;
	int b = 0;

	printf("数字:");
		scanf("%d", &n);
	printf("进制:");
	    scanf("%d", &b);
	itob(n, arr, b);
	printf("\n%s\n",arr);
	
	system("pause");
	return 0;
}