3-5:itob(n,s,b)

《C程序设计语言》练习3-5
编写函数itob(n,s,b),将整数n转换为以b为底的数,并将转换结果以字符的形式保存到字符串s中,例如,itob(n,s,16)把整数n格式化为十六进制整数保存在s中。

代码:

1234567891011121314151617181920212223242526272829303132333435363738394041
#include <stdio.h>#include <string.h>void itob(int n,char s[],int b);void Reverse(char R[]);int main() {    int n = 3770;    char s[100] = {0};    int b = 16;    itob(n,s,b);    return 0;}void itob(int n,char s[],int b){    int i = 0;    for (i=0; n != 0; i++)    {        int j = n % b;        if (j<10)//小于十进制的时候,用数字就够了        {            s[i] = j+'0';            n = n / b;        }        else if (j<16)//适用于16进制时,还要用到字母        {            s[i] = j+'a'-10;            n = n / b;        }    }    Reverse(s);//翻转字符串}void Reverse(char R[]){    int c,i,j;    for (i=0,j=strlen(R)-1; i<j; i++,j--)    {        c = R[i];        R[i] = R[j];        R[j] = c;    }}
🔍 ×