팰린드롬 수(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