您的位置:首页 > 编程语言 > C语言/C++

整数n转换为以b进制的数,itob

2015-11-24 00:31 453 查看
写一个函数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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C语言 函数 数组