if~else, switch문

2017. 2. 13. 11:46Programming/C



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<stdio.h>
//짝수를 구하는 함수
 
bool odd(int n) {
    return n%2//true와 1은 동일
}
 
int main() {
    int n;
    scanf("%d",&n);
    if (odd(n)) {
        printf("입력받은 n은 홀수입니다.\n");
    }else {
        printf("입력받은 n은 짝수입니다.\n");
    }
}
cs



if~else, switch문


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include<stdio.h>
 
int compare(int a, int b, int c) {
    int temp;
    if (a > b) {
        temp = a;
    }else {
        temp = b;
    }
    if (c > temp) {
        temp = c;
    }
    return temp;
}
 
char average(int a, int b, int c) {
    int avg;
    avg = (a + b + c) / 3;
    switch ((int)avg/10) {
        case 9:return 'A';
        case 8:return 'B';
        case 7:return 'C';
        case 6:return 'D';
        case 5:return 'E';
        default:return 'F';
    }
}
 
int main() {
 
    //입력받은 a,b,c 중에 가장 큰수 찾아 출력하라!
    int a, b, c;
    scanf("입력한 세 숫자: %d%d%d", a, b, c);
    int big = compare(a, b, c);
    printf("big: %d \n", big);
 
    //입력받은 a,b,c의 평균으로 학점 매겨라('A':~90, 'B':~80)
    char grade = average(a, b, c);
    printf("grade: %c", grade);
 
}
cs



arr 이용, factorial


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include<stdio.h>
 
void hakjum(int *arr, char *grade) {
    int avg = (*arr + *(arr+1+ *(arr+2)) / 3;
    printf("평균 점수는 :%d \n", avg);
    switch (avg/10) {
        case 10case 9*grade = 'A'break;
        case 8*grade = 'B'break;
        case 7*grade = 'C'break;
        case 6*grade = 'D'break;
        default*grade = 'F'break;
    }
 
    //5점 이상일 때 +가 붙는다(예외. 100점일 때)
    *(grade+1= (avg % 10 >= 5 || avg==100) ? '+' : '0';
}
 
void factorial(int n) {
    printf("%d*", n);
    if (n != 1) {
        factorial(n - 1);
    }
    printf("*%d", n);
}
 
int main() {
    int arr[3]; //arr+1 = &arr[1]
    char grade[] = "F0";  //{'F','0','\0'}
    //grade[1] = 'A';      //문자열 ""은 선언시만 넣을 수 있다.
 
    printf("국어, 영어, 수학 점수 입력:");
    scanf("%d%d%d",arr,arr+1,arr+2);                                //포인터
    printf("국어,영어,수학 점수 : %d,%d,%d", arr[0], arr[1], arr[2]);//값
    hakjum(arr, grade);
    printf("학점은 :%s \n", grade);
 
    factorial(5); //출력 내용: 5*4*3*2*1**1*2*3*4*5 
}
 
cs



for문(미완성)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include<stdio.h>
 
void hakjum(int *arr, char *grade) {
    int avg = (*arr + *(arr+1+ *(arr+2)) / 3;
    printf("평균 점수는 :%d \n", avg);
    switch (avg/10) {
        case 10case 9*grade = 'A'break;
        case 8*grade = 'B'break;
        case 7*grade = 'C'break;
        case 6*grade = 'D'break;
        default*grade = 'F'break;
    }
 
    //5점 이상일 때 +가 붙는다(예외. 100점일 때)
    *(grade+1= (avg % 10 >= 5 || avg==100) ? '+' : '0';
}
 
void factorial(int n) {
    printf("%d*", n);
    if (n != 1) {
        factorial(n - 1);
    }
    printf("*%d", n);
}
 
int main() {
    int arr[3]; //arr+1 = &arr[1]
    char grade[] = "F0";  //{'F','0','\0'}
    //grade[1] = 'A';      //문자열 ""은 선언시만 넣을 수 있다.
 
    printf("국어, 영어, 수학 점수 입력:");
    scanf("%d%d%d",arr,arr+1,arr+2);                                //포인터
    printf("국어,영어,수학 점수 : %d,%d,%d", arr[0], arr[1], arr[2]);//값
    hakjum(arr, grade);
    printf("학점은 :%s \n", grade);
 
    factorial(5); //출력 내용: 5*4*3*2*1**1*2*3*4*5 
}
 
cs




'Programming > C' 카테고리의 다른 글

포인터  (0) 2017.02.18
선택정렬, 버블정렬  (0) 2017.02.13
데이터타입(기본, 파생형)  (0) 2017.02.13
시작하기  (0) 2016.10.29