상세 컨텐츠

본문 제목

C 언어 예제, 문자열 대소문자 전환하기

컴퓨터 관련/C 언어 예제

by 열정과 함께 2014. 2. 9. 23:04

본문

문자열 내에 알파벳이 있다면, 대문자는 소문자로, 소문자는 대문자로 바꾼다. 이럴 테면 이런 뜻이다.




아래는 소스 코드


#include <stdio.h>

/*문자열 대소문자 전환. 100개 이하의 문자열로.*/

char change_str(char *words, char *ascii_1, char *ascii_2);

int main()

{

char words[100];

char ascii_1[26], ascii_2[26];

int i;

for(i=0;i<26;i++)

{

ascii_1[i] = i+65;

ascii_2[i] = i+97;

}

printf("배열을 바꾸고 싶은 문자열을 입력하십시오. \n");

scanf("%s", words);

printf("문자열의 대소문자를 바꿉니다. \n");

change_str(words, ascii_1, ascii_2);

printf("바뀐 문자열 : %s \n", words);

return 0;

}

char change_str(char *words, char *ascii_1, char *ascii_2)

{

int i, j;

for(i=0;i<100;i++)

{

for(j=0;j<26;j++)

{

if(words[i] == ascii_1[j])

{

words[i] = ascii_2[j];

}

else if(words[i] == ascii_2[j])

{

words[i] = ascii_1[j];

}

}

}

return 0;

}


여기는 간략한 설명


#include <stdio.h>

/*문자열 대소문자 전환. 100개 이하의 문자열로.*/

char change_str(char *words, char *ascii_1, char *ascii_2);

int main()

{

char words[100];

char ascii_1[26], ascii_2[26]; //문자열 중에 알파벳을 찾을 수 있도록 대조표를 만들어준다. 대문자용 대조표, 소문자용 대조표다.

int i;

for(i=0;i<26;i++)

{

ascii_1[i] = i+65;

ascii_2[i] = i+97;

}

//아스키코드표를 참조하여 바꿔 준다.

printf("배열을 바꾸고 싶은 문자열을 입력하십시오. \n");

scanf("%s", words);

printf("문자열의 대소문자를 바꿉니다. \n");

change_str(words, ascii_1, ascii_2);

printf("바뀐 문자열 : %s \n", words);

return 0;

}

char change_str(char *words, char *ascii_1, char *ascii_2)

{

int i, j;

for(i=0;i<100;i++)

{

for(j=0;j<26;j++)

{

if(words[i] == ascii_1[j])

{

words[i] = ascii_2[j]; //대문자가 있다면 소문자로 바꾸고

}

else if(words[i] == ascii_2[j])

{

words[i] = ascii_1[j]; //소문자가 있다면 대문자로 바꾼다.

}

}

}

return 0; //원래 있던 것으로 손 대는 것이므로 NULL 을 새로 입력할 필요는 없다.

}

관련글 더보기

댓글 영역