使用C程序将华氏温度转换为摄氏温度时打印垃圾值

时间:2014-07-18 08:23:24

标签: c

任何人都可以帮我编写一个c程序,只需2个精度就可以将Celsius转换为Fahrenheit而不使用任何格式说明符。 当我尝试使用以下代码时,输​​出中显示垃圾值:

#include<stdio.h>
#include<conio.h>

void main()
{
    float celsius,farenheit;
    clrscr();
    printf("\nEnter the temparature in celsius");
    scanf("%f",&celsius);
    farenheit=(1.8*celsius)+32.0;
    farenheit=farenheit*100;
    farenheit=farenheit/100;
    printf("The farenheit temcalcparature is:%f",farenheit);
    getch();
}

有人可以帮我完成代码吗?

2 个答案:

答案 0 :(得分:0)

farenheit=(1.8*celsius)+32.0;
printf("The farenheit temcalcparature is:%0.2f",farenheit);

会给你你想要的东西

答案 1 :(得分:0)

您可以使用rounding functions,但最好使用格式说明符

#include<stdio.h>
#include<math.h>
void main()
{
    float celsius,farenheit;
    celsius = 123.12567;
    printf("The temparature in celsius:%f\n", celsius);
    farenheit=(1.8*celsius)+32.0;
    printf("The farenheit temparature is:%f\n",farenheit);
    printf("The farenheit temparature is:%0.2f\n",farenheit);
    printf("The farenheit temparature is:%d.%d", (int)farenheit, (int)(rint(farenheit*100))%100);
}

输出

The temparature in celsius:123.125671
The farenheit temparature is:253.626205
The farenheit temparature is:253.63
The farenheit temparature is:253.63