티스토리 뷰
반응형
C언어 독학 기초 # % 나머지연산 이용한 문자 증가
모든 강의 자료 : www.codingnow.co.kr/
아스키 코드값을 이해하고
문자를 원하는 만큼 이동하는
내용입니다.
[참고]
https://cflab2017.tistory.com/64
'a'는 hex로 0x62이고
0x62를 1더하면 0x63즉 'b'가된다.
이것을 이용하여
입력받은 문자를
입력받은 수만큼 증가시키는
코드를 구현해 본다.
우선 scanf를 이용하여
문자와 숫자를 입력 받는다.
char inputW;
int inputN;
printf("문자를 입력하세요 : ");
scanf("%c",&inputW);
fflush(stdin); //입력 버퍼지우기
printf("숫자를 입력하세요 : ");
scanf("%d",&inputN);
'a'와 'z'사이의 문자만
처리하도록 예외처리를 한다.
일단 입력받은 수만큼 더한다.
z를 넘는 경우를 대비하여
나머지 연산을 통해
'a'부터 증가하도록 처리를 한다.
'z'가 0x7A이니까
0x7B로 나눈 나머지 값을
'a'에 더하면 끝!!
if((inputW >= 'a') && (inputW <= 'z'))
{
inputW += inputN;
if(inputW > 'z')
{
inputW = 'a'+ (inputW %('z'+1));
}
}else if((inputW >= 'A') && (inputW <= 'Z'))
{
inputW += inputN;
if(inputW > 'Z')
{
inputW = 'A'+ (inputW %('Z'+1));
}
}else{
;
}
결과를 출력한다.
printf("%d만큼 증가시킨 문자는 [%c] 입니다.",inputN,inputW);
이것은 전체 소스이다.
#include <stdio.h>
int main(void)
{
char inputW;
int inputN;
printf("문자를 입력하세요 : ");
scanf("%c",&inputW);
fflush(stdin); //입력 버퍼지우기
printf("숫자를 입력하세요 : ");
scanf("%d",&inputN);
if((inputW >= 'a') && (inputW <= 'z'))
{
inputW += inputN;
if(inputW > 'z')
{
inputW = 'a'+ (inputW %('z'+1));
}
}else if((inputW >= 'A') && (inputW <= 'Z'))
{
inputW += inputN;
if(inputW > 'Z')
{
inputW = 'A'+ (inputW %('Z'+1));
}
}else{
;
}
printf("%d만큼 증가시킨 문자는 [%c] 입니다.",inputN,inputW);
return 0;
}
출력된 결과값이다.
반응형
'C언어 강의' 카테고리의 다른 글
C언어 기초 강의 :: 연산자에 대해 알아 보겠습니다. (0) | 2021.01.22 |
---|---|
C언어 독학 기초 # 가위바위보 게임 (0) | 2020.04.25 |
C언어 독학 기초 # 아스키코드표 # (0) | 2020.04.22 |
C언어 독학 기초 # for를 이용한 배수의 개수구하기 (0) | 2020.04.22 |
C언어 # 2진수를 10진수로 변환하기 (0) | 2020.04.21 |