뒷번호: 자연수 n의 각 자릿수를 반전하여 자연수 n1을 얻고, n1이 n과 같으면 n을 뒷번호라고 합니다(예: 32121).
/**
* #include <stdio.h>은 C의 전처리 명령어입니다.,
* C 컴파일러에 컴파일 시 stdio를 포함하도록 지시합니다..h헤더 파일.
*
* stdio.h는 C 표준 라이브러리의 헤더 파일입니다.,
* 입력 및 출력에 대한 함수와 매크로 정의를 제공합니다.
* stdio.h ,
* 화면 입출력을 위해 표준 입출력 함수를 사용할 수 있습니다.
*/
#include <stdio.h>
// 헤더 파일에 정의된 다양한 수학 함수를 사용합니다.
#include <math.h>
// 길이 구하기
int getLength(long int num) {
int found, len;
found = 0;
// 10보다 작거나 같은 양의 정수 n의 자릿수를 설정합니다.
len = 10;
if (num == 0) return 1;
while (found == 0) {
// pow(10,len-1) : 렌-1의 10의 거듭제곱 계산하기
// 여기서 int : 강제적으로 pow(10, len - 1)을 int로 변환합니다.
if (num / (int)pow(10, len - 1) > 0)
found = 1;
else
len = 1;
}
// num의 자릿수를 반환합니다.
return len;
}
// 아이암빅 번호인지 여부
int isPalindrome(long int num) {
// 키보드에 입력된 양의 정수
long int n;
// 양의 정수의 가장 왼쪽 숫자
int left;
// 양의 정수의 가장 오른쪽 숫자
int right;
// 양의 정수의 자릿수
int i;
// 아이암빅 숫자인지 여부, 예: 1 아니오: 0
int flag;
i = getLength(num);
n = num;
flag = 0;
while (i > 1 && flag == 0) {
// 양의 정수 n의 가장 왼쪽 숫자를 왼쪽 변수에 할당합니다.
left = n / (int)pow(10, i - 1);
// 양의 정수 n의 가장 오른쪽 숫자를 오른쪽 변수에 할당합니다.
right = n % 10;
n = n % (int)pow(10, i - 1) / 10;
i -= 2;
// 양의 정수 n이 현재 가장 왼쪽과 가장 오른쪽 자릿수가 같지 않은 경우,
// 은 입빅 숫자가 아닙니다.,
// 즉, 플래그 변수 플래그에 1이라는 값이 할당됩니다.
if (left != right) flag = 1;
}
// 팔린드롬이면 1을 반환합니다.
if (flag == 0) return 1;
// 그렇지 않으면 0을 반환합니다.
else
return 0;
}
//
int main(void) {
long int num;
// 키보드에서 양의 정수를 입력한 후 변수 num에 저장합니다.
scanf("%ld", &num);
if (isPalindrome(num))
printf("%ld 아이암빅 번호입니다.
", num);
else
printf("%ld 아이암빅 숫자가 아님
", num);
return 0;
}
위는 C 프로그램이며, C 프로그램의 구성은 다음과 같이 요약할 수 있습니다.
C 프로그램의 구성 기능:
, 하나 이상의 기능으로 구성됨
//위에는 세 가지 기능이 있습니다.
int getLength(){}
int isPalindrome(){}
int main(){}
, 함수는 C 프로그램의 기본 단위입니다.
함수는 함수 헤더와 함수 본문의 두 부분으로 구성됩니다.
함수 헤더는 다음과 같이 구성됩니다.
int main(long int num){}
int :반환 값 유형
main :
long int공식적인 매개변수 유형
num: 정식 매개변수 이름
매개변수가 없는 경우 직접 void를 작성합니다.
int main(void){}
함수의 본문과 중괄호 {}의 내용입니다.
C 프로그램의 모든 문은 세미콜론;으로 끝납니다(단, 다음과 같은 경우는 예외):
전처리 명령, 함수 헤더, 오른쪽 중괄호 } after
, C 언어 자체에는 입력 및 출력 문이 없지만 호출 라이브러리 함수를 통해 다음을 수행합니다.
//사용자가 입력한 데이터를 가져와서 그에 따라 변수 목록에 저장합니다.
//구문: scanf("%형식 문자열", 변수 목록);
scanf()
//포맷된 문자열을 표준 출력으로 출력합니다.
//printf("%형식 문자열", 출력 테이블 열)
printf()
//입력 버퍼 내부에서 문자 읽기,
//한 번에 한 문자만 읽을 수 있습니다.,
//getchar()를 처음 사용할 때는 수동 입력이 필요합니다.,
//그러나 여러 문자를 잃어버린 경우,
//나중에 다시 실행될 때 getchar()가 버퍼에서 직접 읽습니다.
//구문: getchar()
getchar()
//출력 문자, 반환 값은 매개변수의 ASCLL 코드 값입니다.
//구문: putchar
putchar()
C 프로그램의 모든 위치에 메모를 작성할 수 있습니다.
한 줄 댓글 //
여러 줄 댓글 /* */
, 한 줄에 두 개 이상의 문을 작성할 수 있으며 두 줄 이상의 문을 작성할 수도 있습니다.
, 주 기능에서 시작, 주 기능 메인에서 종료
목록 상단에 작성된 전처리 명령이 있을 수 있습니다.
, 주 함수는 다른 함수를 호출 할 수 있고 다른 함수는 서로 호출 할 수 있지만 주 함수를 호출 할 수는 없습니다.
나는 독학 프런트 엔드, 퇴근 후 공부, 나는 2022 년 11 월 21 일 프런트 엔드로 1 년 1 개월이되었고, 지금은 "고급 언어 프로그래밍"인 샹탄 컴퓨터 과학 대학의 자체 테스트 중이며, 학습 후 나중에 컴퓨터의 길에서 도움이되기를 바랍니다. 과정을 마친 후 미래의 컴퓨터 여행에 도움이되기를 바랍니다!
프런트 엔드로 들어가는 길은 그리 쉽지는 않지만 다소 어리석은 사람인 나를 방해하지는 않지만 여전히 자신이 원하는 삶으로 가기위한 자신의 노력을 통해 컴퓨터를 사랑하고이를 위해 많은 노력을 기울이고 끊임없이 고수하기를 바랍니다!.





