-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
안녕하세요 48번 질문
21.03.30 16:36 작성 조회수 139
0
안녕하세요
48번 문제에서 중간에 평균 구할 때
for (i = 0; i < 9; i++) {
sum = 0;
for (j = 0; j < 9; j++) {
scanf("%d", &a[i][j]);
sum += a[i][j];
}
printf("%d\n", ((sum / 9.0) + 0.5));
}
ave 변수에 따로 넣지 않고 바로 이렇게 출력해봤는데, 왜 이상하게 출력되는 걸까요?
avg = (sum / 9.0) + 0.5;
printf("%d ", avg);
이렇게 하는 것과의 차이점이 뭔가요?
답변을 작성해보세요.
2
codesweaver
2021.03.30
전체 코드를 올려주시면 좀 더 도움이 될것 같습니다. 아래는 제가 나머지 코드를 예측해서 작성한 것인데 질문주신 것 두개는 출력상의 차이는 없습니다.
.
그런데 평균 출력시 printf("%d", avg); 로 하면 컴파일 오류가 나실것 같습니다. (컴파일러에 따라 그냥 허용할수도 있습니다만) avg는 실수값이므로 %f 로 받는게 적절합니다.
.
답변 1