새싹교실/2014/배반/3주차 (rev. 1.6)
- 튜터의 공사다망함으로 이번 주는 휴강.
- 과제를 내 줄 터이니 하시길.
- 영어를 입력하면 대문자와 소문자를 바꿔서 출력해주는 프로그램.
- 예를 들어 "I have bought a graphic card made by Nvidia." 를 입력하면 "i HAVE BOUGHT A GRAPHIC CARD MADE BY nVIDIA."
#include <stdio.h>
#define LINE 50 //문장의 길이
int main()
{
int i = 0;
char eng[LINE];
printf("영어 문장을 입력해 주세요. : ");
scanf("%[^\n]",&eng);
printf("입력 받은 문장 : %s \n",eng);
printf("변환된 문장 : ");
for ( i = 0; i < LINE ; i++)
{
if(eng[i] >= 'A' && eng[i] <= 'Z' )
{
eng[i] = eng[i] - 'A' + 'a';
printf("%c",eng[i]);
}
else if(eng[i] >= 'a' && eng[i] <= 'z')
{
eng[i] = eng[i] - 'a' + 'A' ;
printf("%c",eng[i]);
}
else if ( (eng[i] >= 0 && eng[i] < 'A') ||(eng[i] > 'Z' && eng[i] < 'a') || (eng[i] > 'z' && eng[i] <= 126) )
{
printf("%c",eng[i]);
}
else
{
printf("");
}
}
printf("\n");
return 0;
}
아이디어 생각난김에 메모좀 해놓을게요. -아스키 코드, if문 이용- 대문자 입력받으면 그 정수 값에다가 (a-A에 대응하는 숫자값)만큼 더해서 char로 출력, 소문자 입력받으면 빼서 출력 if문으로 범위 설정! ->한개씩은 처리 가능할 듯 문장 전체는 좀더 생각좀..
배열을 써보까