본문 바로가기
C언어

[C언어]알파벳 문자 한 개를 입력 받고 입력 받은 문자가 소문자이면 대문자로 바꾸어 출력하고, 대문자이면 그대로 출력하시오

by 이얏호이야호 2020. 4. 7.

조건연산자, 관계 연산자, 부정연산자, 산술연산자, 괄호를 이용하여

소문자를 대문자로 바꾸어 출력

대문자는 그대로 출력하는 프로그램을 가지고 왔습니다.

물론 단번에 코드를 본다면 좋기야 하겠지만 장기적으로 봤을때

혼자풀어보기 -> 힌트 -> 코드보기 순으로 공부하시는게 실력 향상에 큰 도움이 됩니다!

힌트를 보고 천천히 생각을 거쳐서 문제를 풀어보시고

답안을 확인해보세요

코드힌트

더보기

 

출력1
출력1

소문자인 경우 대문자로 바꾸어 출력하는 모습

출력2
출력2

대문자인 경우 그대로 출력하는 모습

조건연산자가 a ~ z 중에 있다면

아스키 코드값의 대소문자가 32만큼 차이난다는 것을 이용하여 뺄셈하는 과정이 필요합니다

ex) a - 32 = A ,  b-32 = B , c -32 = C

 

 

 

 

답안코드

더보기

소문자를 입력한 경우

출력1

대문자를 입력한 경우

출력2
#include<stdio.h>

int main(){

	char input;

	printf("문자 입력 : ");		//input을 통해 값을 입력합니다. 

	scanf("%c",&input);

   	('a'<= input && input <='z')?	//조건연산자를 통해 input이 소문자 a,b,c,.... z 중에 있다면 

 	printf("%c",input-32):	//ASCII코드 값의 대소문자가 -32만큼 차이난다는 것을 이용하여 뺄셈합니다.  소문자인 경우 대문자로 변환하여 출력 

	printf("%c",input);		//대문자인경우 그대로 출력합니다. 

}

 

 

 

 

더 많은 C언어 글이 궁금하다면?

https://chuinggun.tistory.com/category/C%EC%96%B8%EC%96%B4

 

 

댓글