반응형
영문자로만 이루어진 문자열을 입력받고, 그 문자의 대소문자를 변환해서 출력해주는 프로그램의 예시입니다. 방법 1은 변환해주는 함수를 이용해서 전체 코드를 짰습니다. 방법 2는 함수없이 그대로 쭉 나열해서 만든 코드 예시입니다. 둘다 거의 비슷한 결과물을 출력해줍니다.
(방법 1) 함수 이용
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int func_charr(char charr[100]) { // 영문 대소문자 변환해주는 함수
int i;
for (i = 0; sizeof(charr); i++) {
if ((charr[i] >= 'a') && (charr[i] <= 'z')) {
charr[i] = charr[i] - 'a' + 'A';
}
else if ((charr[i] >= 'A') && (charr[i] <= 'Z')) {
charr[i] = charr[i] - 'A' + 'a';
}
else {
break;
}
}
return charr;
}
void main() // 실제 구현되는 main 함수
{
char a[100];
double stopper = 0.0;
while (1) { // 무한루프
printf("문자열 입력 (100자 이내로 입력) : ");
scanf("%s", &a);
stopper++;
if (stopper >= 10.0) { break; } // 무한루프를 빠져나가는 곳. (10번 실행)
printf(">> 변환 결과 : %s \n", func_charr(a)); // 함수 구현
}
printf("이상! 프로그램을 종료합니다.\n");
}
(방법2) 함수없이 구현하는 프로그램 예시
#include <stdio.h>
int main() {
char ch[50];
int i;
printf("input :");
scanf("%s", &ch);
for (i = 0; i<sizeof(ch); i++) {
if (ch[i] == NULL) { break; }
else if (ch[i] >= 'A' && ch[i] <= 'Z') {
printf("%c", ch[i] + 32);
}
else {
printf("%c", ch[i]);
}
}
printf("\n");
for (i = 0; i<sizeof(ch); i++) {
if (ch[i] == NULL) { break; }
else if (ch[i] >= 'a' && ch[i] <= 'z') {
printf("%c", ch[i] - 32);
}
else {
printf("%c", ch[i]);
}
}
return 0;
}
위와 같은 과제를 받고 제출하자마자 포스팅해둡니다. 필요하신 분들은 참고하시면 좋을 것 같습니다. 이상!
반응형
LIST
'프로그램 > C언어' 카테고리의 다른 글
【C언어】 빙고 게임 코드 예시 (0) | 2017.10.25 |
---|---|
【C언어】 최소공배수를 찾는 함수 프로그램 예시 (0) | 2017.10.16 |
【C언어】 소수를 출력하는 함수 프로그램 예시 (0) | 2017.10.16 |