[정올] 기초다지기_반복제어문1_형성평가3_ code127

사용자 두비니

·

2019. 3. 20. 01:36

[정올] 기초다지기_반복제어문1_형성평가3_ code127




0 부터 100 까지의 점수를 계속 입력받다가 범위를 벗어나는 수가 입력되면 그 이전까지 입력된 자료의 합계와 평균을 출력하는 프로그램을 작성하시오.

(평균은 반올림하여 소수 첫째자리까지 출력한다.)







55 100 48 36 0 101
sum : 239
avg : 47.8




[정답-C언어]


#include <stdio.h>


int main()

{

int num = 0, sum = 0, n = 0;


while (num <= 100) {

scanf("%d", &num);

if (num > 100) break;

sum += num;

n++;

}


printf("sum: %d\n", sum);

printf("avg: %.1f", (double)sum / n);


return 0;

}



C++, Java, Python등은 계속 업데이트 중입니다.

2개의 댓글

  • 2021.08.30 22:21

    안녕하세요 왜 sum 앞에 더블을 붙인 이유가 있을까여

    • 사용자 두비니

      2021.09.07 15:11 신고

      c언어에서는 (정수) / (정수)를 할 경우 결과값이 정수로 출력되게 됩니다. 따라서 몫만 출력되고 소수점 이하는 버림 상황이 발생하기 때문에 sum앞에 double을 붙였습니다.

      실제로 c언어로 5 / 2의 결과값을 출력하면 2.5가 아닌 2가 출력되게 됩니다.