공부/2018-2 프로그래밍연습
06. Average
열대urim
2018. 12. 11. 19:40
<설명>
최대 1000개의 다수의 정수가 입력으로 주어진다.
각각의 정수의 절댓값은 100000을 넘지 않는다.
모든 입력의 평균값을 출력하라.
<Input>
1000개 이하의 정수
<Output>
평균값, 절대오차는 10^-6까지 허용된다.
<소스코드>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <stdio.h> int main (void) { int i=0; int sum=0; int cot=0; double aver=0; while (scanf("%d",&i)!=EOF) { sum+=i; cot++; } aver = (double) sum / cot; printf("%lf",aver); return 0; } |
<설명>
scanf는 평소엔 scan에 성공한 인자의 수를 return value로 내놓지만, EOF(End of File)일 때는 EOF를 내놓는다.
while loop가 한 번 돌 때, scan한 정수를 sum에 더해주고, cot를 증가시킨다.
루프를 다 돌고, 총합인 sum을 정수의 개수인 cot로 나눠주면 평균이 될 것이다.
이 때 명시적으로 aver 값을 (double)로 설정한다.
aver는 double 타입이므로 출력할 때 %lf를 사용한다.