뇌를 자극하는 C 프로그래밍 질의응답 게시판입니다.
2017-04-14
by 나야나
3145
화씨 온도를 섭씨로 변환하는 문제인데요
#include <stdio.h>
int main()
{
double f, c;
printf("화씨 온도를 입력하세요 : ");
scanf("%lf", &f);
c = (f - 32)*(5.0 / 9); //나눌 때 하나는 실수형 상수이어야 함
printf("섭씨 온도는 %.1lf도 입니다", c);
return 0;
}
이게 정답인데 저는
#include <stdio.h>
int main()
{
double f, c;
printf("화씨 온도를 입력하세요 : ");
scanf("%lf", &f);
c = (f - 32)*(5/ 9);
printf("섭씨 온도는 %.1lf도 입니다", c);
return 0;
}
이렇게 했더니 계속 0.0이 나오더라구요 왜 그런건가요?
1. 만약 정수형 답이 나와서 그런거라면 마지막 printf에서 %d로 했을 때
몫이 나와야 하는 거 아닌가요... ?
2. 또 변수를 입력 받을 때 %d로 하고 출력시에도 %d로 했을 때도 몫은 나와야 하는 거 아닌가용 8ㅅ8
3. 그리고 마지막으로 f-32.0 이렇게 했을 때는 왜 또 0.0이 나오는 건가요 ?