1 #pragma warning(disable:4996)
2 #include <stdio.h>
3 #include <stdlib.h>
4
5 void doInput(int count, int* pScore);
6 double getAverage(int count, int *pScore);
7
8 int main()
9 {
10 int count = 0;
11 int *pScore = NULL;
12 double average = 0;
13
14 do
15 {
16 printf("학생수는? (0이하의 수를 입력하면 종료됩니다.");
17 scanf("%d", &count);
18
19 // 메모리 할당
20 if (count > 0)
21 {
22 pScore = (int*)malloc(sizeof(int)*count);
23 if (NULL != pScore)
24 {
25 doInput(count, pScore);
26 average = getAverage(count, pScore);
27 printf("평균점수는 %f입니다.", average);
28 }
29 // 메모리 할당시 예외
30 else
31 {
32 printf("메모리 할당에 실패하였습니다. \n");
33 }
34 if (NULL != pScore) free(pScore);
35
36 }
37 } while (count > 0);
38 }
39 void doInput(int count, int *pScore)
40 {
41 int i;
42 int score = 0;
43 // 학생수 반복 입력
44 if (count > 0 && NULL != pScore) //검사
45 {
46 for (i = 0; i < count; i++)
47 {
48 printf("[%d]번째 학생의 점수 : ", i + 1);
49 scanf("%d", &score);
50
51 *(pScore+i) = score;
52 }
53 }
54 else //예외
55 {
56 printf("오류가 있습니다.");
57 }
58 }
59
60 double getAverage(int count, int *pSocre) // 평균식
61 {
62 double result = 0;
63 int i = 0;
64 if (count > 0 && NULL != pSocre)
65 {
66 for (i = 0; i < count; i++)
67 {
68 result += *(pSocre + i);
69 }
70 return result / count;
71 }
72 else
73 {
74 printf("오류가 있습니다.");
75 }
76 return result;
77 }
1 #pragma warning(disable: 4996 ) 2 #include <stdio.h> 3 #include <stdlib.h> 4 5 void doInput( int cou...
0 개의 댓글: