编写一个函数itob(int n,char s[], int b),将整数n转换为以b进制的数。保存到s中。
2016-05-26 09:37
716 查看
#include <stdlib.h> #include <stdio.h> void itob(int n, char s[], int b); void new_reverse(char s[]); int main(void) { char buffer[10]; int iTmp, radix, flag; while (1) { printf("Please input a int number(q to quit): "); flag = scanf_s("%d", &iTmp); if (flag != 1) break; printf("Please input the radix in dec num: "); scanf_s("%d", &radix); while (getchar() != '\n'); itob(iTmp, buffer, radix); printf("Dec num %d in radix %d is %s\n\n", iTmp, radix, buffer); } system("pause"); return 0; } void itob(int n, char s[], int b) { static char digits[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; int i, sign; if (b < 2 || b > 36) { fprintf(stderr, "Can not suppoert base %d\n", b); exit(0); } if ((sign = n) < 0) n = -n; i = 0; do { s[i++] = digits[n % b]; } while ((n /= b) > 0); if (sign < 0) s[i++] = '-'; s[i] = '\0'; new_reverse(s); } void new_reverse(char s[]) { int c, i, j; for (i = 0, j = strlen(s) - 1; i < j; i++, j--) { c = s[i]; s[i] = s[j]; s[j] = c; } }
相关文章推荐
- 对sizeof的各种总结
- .每瓶汽水1元,两个空瓶可以置换一瓶汽水,现在有20元,最多能喝多少瓶汽水
- 二维数组中的查找,杨氏矩阵
- c语言表白!!!!(ps 偶然看到的)
- 调整数组使奇数全部都位于偶数前面。
- 快速排序
- 堆排序
- 直接插入排序
- 用c语言.模拟实现strcpy,strcat,strcat,memcpy,memmove
- 用c语言实现strncmp,strncat,memset, memcmp
- 区分数组指针和指针数组
- 打印1到最大的n位数。
- 操作系统实验之作业调度算法
- 单链表的插入 删除 及带环 问题
- new 、delete和malloc、free的解析及区别
- c++中的模板
- 虚函数
- 斐波那契序列的递归和非递归的实现
- YII容器类依赖注入
- 剑指offer 27二叉搜索树与双向链表