Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรม C หาเลข Palindrome ด้วย while loop (ตัวเลขและสตริง)


Palindrome number คือเลขที่อ่านจากหน้าหรือหลังได้เหมือนกัน (เช่น 121, 1221) โปรแกรมตรวจสอบโดยใช้ while loop

ตัวอย่างที่ 1: ตรวจสอบเลข Palindrome (ตัวเลข)

#include <stdio.h>
int main() {
    int num, temp, rem, rev = 0;
    printf("Enter a number: ");
    scanf("%d", &num);
    
    temp = num;
    while (temp > 0) {
        rem = temp % 10;
        rev = rev * 10 + rem;
        temp = temp / 10;
    }
    
    printf("Reversed number = %d\n", rev);
    if (num == rev)
        printf("%d is Palindrome Number.\n", num);
    else
        printf("%d is not Palindrome Number.\n", num);
    return 0;
}

ผลลัพธ์

enter a number: 1234
reversed number is = 4321
1234 is not the Palindrome Number.

enter a number: 1221
reversed number is = 1221
1221 is Palindrome Number.

ตัวอย่างที่ 2: ตรวจสอบ Palindrome สตริง

#include <stdio.h>
#include <string.h>

void checkPalindrome(char str[]) {
    int i = 0;
    int len = strlen(str) - 1;
    
    while (len > i) {
        if (str[i++] != str[len--]) {
            printf("%s is not a palindrome\n", str);
            return;
        }
    }
    printf("%s is a palindrome string\n", str);
}

int main() {
    char string[100];
    printf("Enter a string: ");
    fgets(string, sizeof(string), stdin);
    string[strcspn(string, "\n")] = 0;  // ลบ newline
    checkPalindrome(string);
    return 0;
}

ผลลัพธ์

enter a string: tutorial
tutorial is not a palindrome

enter a string: saas
saas is a palindrome string