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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | #include <stdio.h> int main(void) { int scores[10][3]={0}; int score10[4] = {0}; int frameScore[11]={0}; int i; for(i=1; i<=9; i++) //[1-9 frame] { //first bowling printf("%d frame first Score: ",i); scanf("%d", &scores[i][1]); // scores[i]+1 if( (i >= 2) && (scores[i-1][1] != 10) && ((scores[i-1][1] + scores[i-1][2]) == 10) ) {// i-1 frame = spare frameScore[i-1] = frameScore[i-2] + 10 + scores[i][1]; printf("%d frameScore: %d\n", i-1, frameScore[i-1]); } else if( (i >= 3) && (scores[i-2][1] == 10) && (scores[i-1][1] == 10) ) {// i-2 frame = strike and i-1 frame= strike frameScore[i-2] = frameScore[i-3] + 20 + scores[i][1]; printf("%d frameScore: %d\n", i-2, frameScore[i-2]); } if(scores[i][1] < 10) { //second bowling printf("%d frame second score: ", i); scanf("%d", scores[i]+2); // scores[i][2] if( (i >= 2) && (scores[i-1][1] == 10) ) { frameScore[i-1] = frameScore[i-2] + 10 + scores[i][1] + scores[i][2]; printf("%d frameScore: %d\n", i-1, frameScore[i-1]); } if( (scores[i][1] + scores[i][2]) < 10) { frameScore[i] = frameScore[i-1] + scores[i][1] + scores[i][2]; printf("%d frameScore: %d\n", i, frameScore[i]); } } } // 10 frame printf("10 frame first score : "); scanf("%d", &score10[1]); if( (scores[9][1] != 10) && (scores[9][1] + scores[9][2] == 10) ) { frameScore[9] = frameScore[8] + 10 + score10[1]; printf("%d frameScore : %d\n", 9, frameScore[9]); } else if( (scores[8][1] == 10) && (scores[9][1] == 10) ) { frameScore[8] = frameScore[7] + 20 + score10[1]; printf("%d frameScore : %d\n", 8, frameScore[8]); } printf("10 frame second score : "); scanf("%d", &score10[2]); if(scores[9][1] == 10) { frameScore[9] = frameScore[8] + 10 + score10[1] + score10[2]; printf("%d frameScore : %d\n", 9, frameScore[9]); } if( (score10[1] + score10[2]) < 10) { frameScore[10] = frameScore[9] + score10[1] + score10[2]; printf("%d frameScore : %d\n", 9, frameScore[9]); } else //( (score10[1]==10) || ((score10[1] + score10[2]) >= 10) ) { printf("10 frame third score : "); scanf("%d", &score10[3]); frameScore[10] = frameScore[9] + score10[1] + score10[2] + score10[3]; printf("%d frameScore : %d\n", 10, frameScore[10]); } return 0; } |
한백전자의 박정석 강사님 수업중 같이 짠 소스
'Study > 리눅스' 카테고리의 다른 글
| 리눅스 c언어로 컴파일하기 Makefile (0) | 2014.09.18 |
|---|---|
| 리눅스 C언어로 컴파일하기 Bowling CUI (2) (0) | 2014.09.17 |
| 리눅스 C언어로 컴파일하기 FIFO (5) (0) | 2014.09.12 |
| 리눅스 C언어로 컴파일하기 FIFO (4) (0) | 2014.09.12 |
| 리눅스 C언어로 컴파일하기 FIFO (3) (0) | 2014.09.12 |
