티스토리 뷰

코드 스니펫 복사

대문자는 소문자, 소문자는 대문자로 치환하는 프로그램 소스



C언어 소스를 남겨봅니다.

이번 포스팅은 대문자는 소문자, 소문자는 대문자로 치환"하는 프로그램 소스인데요.
 
입력받은 문자가 A 보다 크거나 A 이고 ,
Z 보다 작거나 Z 이면 대문자이므로 소문자로
입력받은 문자가 a 보다 크거나 a 이고 ,
z 보다 작거나 z 이면 소문자 이므로 대문자로
변환하여라

 

#include <stdio.h>

void main()
{
	char x,y;
 
	// 알파벳 입력 받기 
	printf("input Alphabet : ");
	scanf("%c", &x);

 /* 
	입력받은 문자가 소문자일 경우
	아스키코드에서 32를 빼서 소문자로 변환
	입력받은 문자가 대문자일 경우
	아스키코드에서 32를 더해서 대문자로 변환
 */
 
	if (x>='a' && x<='z')
		y=x-32;
	else if (x>='A' && x<='Z')
		y=x+32;
	
	printf("change : %c", y);
}


실행한 결과는



위의 C언어 소스를 실행한 결과는 아래와 같습니다.


댓글
  • 프로필사진 ㅇㅇ if문에 쓰여진 조건들이 이해가 안가는데 그리고 32라는 숫자두여 좀 설명 좀 해주시면 안될가여 2014.10.04 11:54 신고
  • 프로필사진 하늘과 나 아스키코드표라고 검색해보시면 각 문자마다 숫자가 나와 있어요
    대문자 A는 65, 소문자 a는 97입니다.
    그 차이는 32이지요.
    int a=65;
    printf("%c", a)라고 하면 화면에는 대문자 A가 출력이 되요.

    소문자 a를 대문자 A로 바꾸려면 현재의 코드에 32를 더해줘야 합니다. 알파벳 모두 마찬가지에요^^
    2014.10.04 16:01 신고
  • 프로필사진 jh.yu 안녕하세요! 블로그에 많은 도움을 얻고 있는 학생입니다. 다름이 아니라 본 내용을 보고 소스를 실행해봤는데 잘 되지 않아 염치불구하고 질문 올립니다.
    본 블로그에 써져있는 소스 그대로 썼고 대문자, 소문자를 무조건 소문자로 바꾸는 걸로 활용해서 짜봤는데 초기화되지않는 x라면서 실행이 안됩니다ㅜㅜ 검색을 해도 잘나오지 않고 어디다 물어봐야할지 막막하여 이곳에 질문 올립니다. 그리고 한가지 더 여쭙겠습니다. scanf의 기능은 뭔가요? 그리고"%c와 &x가 각각 나타내는 바는 무엇인가요? 질문이 많아 정말 죄송합니다. 꼭 답주시길 기다리겠습니다. 감사합니다.
    2018.03.24 21:30 신고
댓글쓰기 폼
공지사항
Total
2,732,983
Today
768
Yesterday
856
«   2018/06   »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함