if~else, switch문
2017. 2. 13. 11:46ㆍProgramming/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 10: case 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 10: case 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 |