Commit ed7276
2024-04-04 10:14:44 Qwas: 新增递归算法设计数值转换程序/dev/null .. "b/c-algorithm/\351\200\222\345\275\222\347\256\227\346\263\225\350\256\276\350\256\241\346\225\260\345\200\274\350\275\254\346\215\242\347\250\213\345\272\217.md" | |
@@ 0,0 1,33 @@ | |
+ | # 递归算法设计数值转换程序 |
+ | |
+ | ```c |
+ | #include <stdio.h> |
+ | #include <string.h> |
+ | |
+ | void convto(char *s, int n, int b) { // 函数声明 |
+ | char bit[] = {"0123456789ABCDEF"}; |
+ | int len; // 声明变量 |
+ | if (n == 0) { |
+ | strcpy(s, ""); // 字符串复制 |
+ | return; |
+ | } |
+ | convto(s, n / b, b); // 递归 |
+ | len = strlen(s); // 获取字符串长度 |
+ | printf("%s\n", s); |
+ | s[len] = bit[n % b]; |
+ | s[len + 1] = '\0'; |
+ | } |
+ | |
+ | void main(void) { // 主函数 |
+ | char s[80]; |
+ | int i, base, old; |
+ | printf("请输入十进制数:"); |
+ | scanf("%d", &old); |
+ | printf("请输入转换的进制:"); |
+ | scanf("%d", &base); |
+ | convto(s, old, base); // 对数制转换 |
+ | printf("%s\n", s); |
+ | getchar(); |
+ | return; |
+ | } |
+ | ``` |