1  #pragma warning(disable: 4996 )    2  #include <stdio.h>    3  #include <stdlib.h>    4     5   void  doInput( int  cou...

열혈강의 C언어 정복 리얼 교과서 연습문제 1번 (p353)

  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 }



0 개의 댓글: