写一个C语言温度单位转换函数,要求保留1位小数点温度,不能使用浮点数,用int,华氏度转换为摄氏度单位后的结果再转华氏度,不能出现精度丢失。
时间: 2024-03-23 09:37:42 浏览: 75
C语言程序设计-输入华氏温度求摄氏温度;转换公式为 c=59(f-32),输出结果取两位小数;.c
好的,以下是我给您实现的C语言温度单位转换函数:
```c
int fahrenheit_to_celsius_to_fahrenheit(int f) {
int c = (f - 32) * 10 / 18; // 华氏度转换为摄氏度,结果乘以10,保留1位小数点
int f2 = c * 18 / 10 + 32; // 摄氏度转换为华氏度
return f2;
}
```
该函数接收一个整数参数f,代表华氏度。首先将华氏度转换为摄氏度,结果乘以10,保留1位小数点,然后将摄氏度转换为华氏度。最后返回转换后的华氏度整数值,保证不会出现精度丢失的情况。
注意:该函数的参数和返回值都是整数类型,所以在使用该函数时需要自行将整数值除以10并转换为浮点数类型,才能得到保留1位小数点的温度值。
阅读全文