화씨를 섭씨온도로 환산하려고하는데요
초코홀릭
#include stdio.h
int main()
{
float Fahrenheit,centigrade; //화씨,섭씨 변수선언
printf(화씨온도를 섭씨온도로 환산하려는 수:);
scanf(%f,&Fahrenheit);
centigrade= 5 / 9 * ( Fahrenheit - 32 );
printf(화씨온도를 섭씨온도로 바꼈을때 의 답:%f\n,centigrade);
}
출력값이1을넣으면 0.0000000 이정도가 나오는데요ㅠ
어디서 문제일까요;
출력값 1,2,3,4를 넣어도 똑같구요ㅠㅠ
문제가 사용자로부터 화씨온도를 받아서 섭씨온도로 환산하라고하는데;;
화씨온도를 또 scanf로 받아서 centigrade에 대입을 한다음에
섭씨온도로 구해야될까요?
-
다연 2025-03-21
아아감사합니다
-
로운 2025-03-21
수다님 말씀대로 type conversion을 시켜줘야 할것 같습니다. 그게 아니면 5나 9를 .0 하나 붙여주시면 되구요.
-
유희 2025-03-21
centigrade= 5 / 9 * ( Fahrenheit - 32 );를
centigrade= 5.0 / 9.0 * ( Fahrenheit - 32.0 ); -
유메 2025-03-21
centigrade= 5 / 9 * ( Fahrenheit - 32 ); 이걸
centigrade= (float)5 / (float)9 * ( Fahrenheit - 32 ); 이렇게 고치면 되지 않을까요??
5/9 하면 0이 나옵니다...float이나 double로 변환해줘야 합니다. -
어둠 2025-03-21
float변수를 double로 scanf의 f를 lf로 그리고 5/9 앞에 (double)을 입력해보세요. 아마 float에서 받을수있는 크기를 초과해서 그런거같은데요 제 생각엔..; 확실하진않지만 실험해보니 되긴하네요;;