- 论坛徽章:
- 2
|
输出任意进制数字。
- #include <stdio.h>
- void print_digit(int num, int radix)
- {
- int digit;
- if (num > 0) {
- print_digit(num / radix, radix);
- digit = num % radix;
- if (radix > 10) {
- if (digit >= 10) {
- putchar(digit + ('A' - 10));
- }else {
- putchar(digit + '0');
- }
- }else {
- putchar(digit + '0');
- }
- }
- }
- void printn(int num, int radix)
- {
- if (radix >= 2 && radix <= 36) {
- if (num == 0) {
- putchar('0');
- }else if (num < 0) {
- if (radix == 10) {
- putchar('-');
- }
- print_digit(-num, radix);
- }else {
- print_digit(num, radix);
- }
- }
- }
- int main(void)
- {
- printn(36858, 2);
- putchar('\n');
- printn(36858, 4);
- putchar('\n');
- printn(36858, 8);
- putchar('\n');
- printn(36858, 10);
- putchar('\n');
- printn(36858, 16);
- putchar('\n');
- printn(36858, 36);
- putchar('\n');
- return 0;
- }
复制代码 |
|