팰린드롬 수(Palindrome number)는 뒤집어도 그대로 유지되는 수입니다. C 언어에서는 사용자가 임의의 양의 정수를 입력하고 while 루프를 사용하여 주어진 숫자가 회문인지 아닌지 확인할 수 있습니다.
예시 1
다음은 while 루프를 사용하여 회문 번호를 찾는 C 프로그램입니다 -
#include <stdio.h> int main(){ int num, temp, rem, rev = 0; printf("enter a number:\n"); scanf("%d", &num); temp = num; while ( temp > 0){ rem = temp %10; rev = rev *10+ rem; temp = temp /10; } printf("reversed number is = %d\n", rev); if ( num == rev ) printf("\n%d is Palindrome Number.\n", num); else printf("%d is not the 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
문자열에 대해 while 루프를 사용하여 회문 번호를 찾는 C 프로그램의 또 다른 예를 고려하십시오.
#include <stdio.h> #include <string.h> void pal(char string[]); int main(){ char string[100]; printf("enter a string: "); gets(string); pal(string); return 0; } void pal(char string[]){ int i = 0; int length = strlen(string) - 1; while (length > i){ if(string[i++] != string[length--]){ printf("\n %s is not a palindrome", string); return; } } printf("\n %s is a palindrome string", string); }
출력
위의 프로그램이 실행되면 다음과 같은 결과가 생성됩니다 -
enter a string: tutorial tutorial is not a palindrome enter a string: saas saas is a palindrome string