C.6 Palindrome number 검사

lsw·2021년 4월 7일
0

C

목록 보기
9/9
post-thumbnail

1. 목적

Symmetric number, 즉 Palindrome number(ex. 454, 6886, 1001)를 검사하는 함수 만들기


2. 알고리즘 포인트

do ~ while 문을 사용해 볼 예정이다. (이점 : 최초 검사 True, as comfortable as while ~)


3. 코드

#include <stdio.h>

int main()
{
/*
 입력받을 값, 초기화될 값들의 일의자리 수 저장 변수(remainder), number 임시저장 변수
 거꾸로 뒤집은 값 저장 변수 
*/
  int number, rem, temp, reverse=0;
  while(1) 
  {
    printf("Enter the number : ");
    scanf("%d", &number);
// 양수만 입력
    if(number >=0)
    {
      break;
    }
    printf("Retry by entering positive number\n");
  }
// number 대신 초기화에 사용할 임시변수 = number
  temp = number;
  do // test result is Absolutely 'True' at first repetition time
  {
    rem = temp % 10; // 일의자리 숫자 검출(remainder)
    reverse = 10*reverse + rem; // 일의자리 -> 백의자리 and so on..
    temp /= 10; // 일의자리 검출 후 그 값을 소거하는 모습(=몫 검출)
  } while(temp !=0); // 최후 temp가 일의자리로 초기화된 후 /=10 -> 0 이면 false, break.
  if(reverse == number) 
// Compare original number with reversed value to know if it is Palindrome 
  {
    printf("The number is palindrome");
  }
  else
  printf("The number is not palindrome");
  return 0;
}

4. 결과

profile
미생 개발자

0개의 댓글