中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

使用C語言實現不同進制下的回文數檢測

小樊
82
2024-04-26 17:47:48
欄目: 編程語言

#include <stdio.h>

// 將十進制數轉換為指定進制的字符串
char* convertToBase(int num, int base) {
    static char buffer[32];
    char digits[] = "0123456789ABCDEF";
    int index = 0;

    while (num > 0) {
        buffer[index++] = digits[num % base];
        num /= base;
    }

    buffer[index] = '\0';

    return buffer;
}

// 檢測一個字符串是否為回文數
int isPalindrome(char* str) {
    int length = strlen(str);

    for (int i = 0; i < length / 2; i++) {
        if (str[i] != str[length - i - 1]) {
            return 0;
        }
    }

    return 1;
}

int main() {
    int num;
    printf("請輸入一個十進制數:");
    scanf("%d", &num);

    for (int base = 2; base <= 16; base++) {
        char* str = convertToBase(num, base);
        if (isPalindrome(str)) {
            printf("%d進制下的回文數為:%s\n", base, str);
        }
    }

    return 0;
}

這段代碼首先實現了一個將十進制數轉換為指定進制的字符串的函數convertToBase,然后實現了一個檢測一個字符串是否為回文數的函數isPalindrome。在main函數中,用戶輸入一個十進制數,然后程序將該數轉換為2到16進制的字符串,并檢測是否為回文數,若是回文數則輸出。

0
松江区| 云梦县| 祁东县| 荔波县| 黄梅县| 探索| 建始县| 墨江| 芷江| 连江县| 垫江县| 饶阳县| 来凤县| 重庆市| 穆棱市| 临泉县| 凤山县| 宁强县| 凤山市| 鹿泉市| 阿荣旗| 岳普湖县| 阿拉善右旗| 大竹县| 泉州市| 汤原县| 广西| 桃江县| 库伦旗| 亚东县| 鄂州市| 霍林郭勒市| 阿克陶县| 沐川县| 台北市| 石阡县| 鸡泽县| 电白县| 旬阳县| 东城区| 长丰县|