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