C언어/참고서: C언어 콘서트

C언어 20차시 조건문 연습문제 3

Olivia-BlackCherry 2023. 3. 24. 10:53

목차

    1. 홀짝 판별기

    ♣결과

    ♧코드

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h> 
    #include <stdlib.h> 
    
    int main(void)
    {
    	int x;
    	printf("정수를 입력해주세요. 홀/짝을 판별해드려요.____\b\b\b\b");
    	scanf("%d", &x);
    	
    	if (x % 2 == 0) {
    		printf("짝수입니다\n");
    	}
    	else {
    		printf("홀수입니다.\n");
    	}
    
    	return 0;
    }

     

     

    2. 두 정수의 합과 차(양의 정수로 출력)

    ♣결과

    ♧코드

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h> 
    #include <stdlib.h> 
    
    int main(void)
    {
    	int x, y, sum, subtract;
    	printf("두 정수를 입력해주세요. 두 수의 합과 차를 알려드려요.____\b\b\b\b");
    	scanf("%d%d", &x, &y);
    	
    	sum = x + y;
    	subtract = x - y;
    
    	if (subtract < 0) {
    		subtract *= -1;
    	}
    	
    	printf("두 수의 합은 %d이고, 차는 %d입니다\n", sum, subtract);
    
    	return 0;
    }

     

     

    3. 요일(월-일)=(0-6) 출력하기

    ♣결과

    ♧코드

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h> 
    #include <stdlib.h> 
    
    int main(void)
    {
    	int day;
    	printf("오늘은 무슨 요일입니까? (월-일)을 (0-6)까지로 표현하세요.____\b\b\b\b");
    	scanf("%d", &day);
    	
    	switch (day) 
    	{
    	case 0: 
    		printf("월요일");
    		break;
    	case 1:
    		printf("화요일");
    		break;
    	case 2:
    		printf("수요일");
    		break;
    	case 3:
    		printf("목요일");
    		break;
    	case 4:
    		printf("금요일");
    		break;
    	case 5:
    		printf("토요일");
    		break;
    	case 6:
    		printf("일요일");
    	default:
    		printf("입력이 잘못되었습니다. 다시 입력해주세요.\n\n");
    	}
    	
    	return 0;
    }

     

     

    4. 문자 입력받아서 대문자, 소문자 판별하기

    ♣결과

    ♧코드

    -아스키코드 연습-

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h> 
    #include <stdlib.h> 
    
    int main(void)
    {
    	char x;
    	printf("문자를 하나 입력하세요.____\b\b\b\b");
    	x=getchar();
    	printf("%c를 입력하셨습니다.\n", x);
    	printf("입력하신 문자의 아스키코드 값은 %d 입니다\n", x);
    
    	if (x > 40 && x < 91) {
    		printf("대문자입니다\n");
    	}
    	else if (x > 96 && x < 123) {
    		printf("소문자입니다\n");
    	}
    	else {
    		printf("입력값이 바르지 않습니다\n");
    	}
    	return 0;
    }

    아스키코드 참고

    >>>>클릭

     

    주의점

    변수 선언할 때 char은 문자, 정수를 모두 입출력값으로 받을 수 있기 때문에 

    형식 지정자도 %c, %d 모두 가능하다. 

    %c이면 문자 그대로 출력되고

    %d이면 아스키코드 값으로 숫자형태로 출력된다. 

    입력값은 getchar() 함수로 받는 것이 좋다.

     

    -다른 해답-

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    int main(void)
    {
       char a;  
    
        printf("문자를 입력하시오:");
        scanf("%c", &a);
    
        if (a >= 'A' && a <= 'Z')
            printf("대문자입니다. \n");
        else if (a >= 'a' && a <= 'z')
            printf("소문자입니다. \n");
        else 
            printf("알파벳이 아닙니다.\n");
        return 0;
    }

     

     

    5. 문자가 알파벳, 숫자, 특수문자인지 출력하기

    ♣결과

    ♧코드

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h> 
    #include <stdlib.h> 
    
    int main(void)
    {
    	char x;
    	printf("문자를 하나 입력하세요.____\b\b\b\b");
    	x = getchar();
    	printf("%c를 입력하셨습니다.\n", x);
    	printf("입력하신 문자의 아스키코드 값은 %d 입니다\n", x);
    
    	if ((x > 64 && x < 91)|| (x > 96 && x < 123)) {
    		printf("알파벳입니다\n");
    	}
    	else if (x > 47 && x < 58) {
    		printf("숫자입니다\n");
    	}
    	else if(x >32 && x< 127) {
    		printf("입력값이 바르지 않습니다\n");
    	}
    	return 0;
    }

    -다른 해답-

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    int main(void)
    {
       char a;  
    
        printf("문자를 입력하시오:");
        scanf("%c", &a);
    
        if (a >= 'A' && a <= 'z')
            printf("알파벳입니다. \n");
        else if (a >= '0' && a <= '9')
            printf("숫자입니다. \n");
        else 
            printf("특수문자입니다. \n");
        return 0;
    }