문자열 내에 알파벳이 있다면, 대문자는 소문자로, 소문자는 대문자로 바꾼다. 이럴 테면 이런 뜻이다.
아래는 소스 코드
#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 을 새로 입력할 필요는 없다.
}
C 언어 예제, 문자열 내에서 검색하기 (0) | 2014.02.16 |
---|---|
C 언어 예제, 문자열 대조하기 (0) | 2014.02.12 |
C 언어 예제, 문자열 뒤집기, 문자열 역순 출력 (0) | 2014.02.09 |
C 언어 예제, 1000 의 자리수를 갖는 수의 계산 (0) | 2014.01.23 |
C 언어 예제, 에라토스테네스의 체를 이용하여 소수 찾기 (0) | 2014.01.06 |
댓글 영역