C/C++
c언어 완전완전 초보 질문(쉬움!!!) - 정올 반복제어문1 형성평가
#include <stdio.h>
int main()
{
    int num, sum=0, avg, su=0;
    while(1) {
        scanf("%d", &num);
        if(num<0 || num>100) break;
        else {
            sum += num;
            su++;
        }
       
    }
    printf("sum : %d\n", sum);
    printf("avg : %.1lf", (double)sum/su);
    return 0;
}

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

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

문제가 이건데 밑에서 세번째 줄을 위에처럼하면 되는데

    avg = (double)sum / su;
    printf("sum : %d\n", sum);
    printf("avg : %.1lf", avg);
    return 0;

이렇게 바꾸면 avg : 0으로 떠요...다른 연습코드 할땐 저렇게 썼었던 것 같은데 밑에처럼 하면 안되나요...???

댓글 1