根据上述温度表,将代码改写为,-20~30之间10度为一档,30~40之间1度为一档,40~105之间10度为一档
时间: 2023-07-07 14:34:06 浏览: 54
根据上述温度表,将代码改写为:
```c++
const int TEMP_GROP[] = {-20, -10, 0, 10, 20, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 60, 70, 80, 90, 100, 105};
//计算温度档和尾数
double temp = 0.0;
double t_temp = 0.0;
int i = 0;
double diff = 0.0;
double temp_base = 0.0;
//计算温度档
if (val <= -20) {
temp_base = -30.0;
} else if (val <= 30) {
temp_base = (val / 10) * 10;
} else if (val < 40) {
temp_base = 30.0;
} else if (val <= 105) {
temp_base = (val / 10) * 10;
} else {
temp_base = 110.0;
}
//计算尾数
if (temp_base == -30.0) {
diff = (TEMP_GROP[0] - TEMP_GROP[1]);
t_temp = (TEMP_GROP[0] - val) * (10.0 / diff);
} else if (temp_base == 30.0) {
diff = (TEMP_GROP[5] - TEMP_GROP[6]);
t_temp = (TEMP_GROP[5] - val) * (1.0 / diff);
} else if (temp_base == 110.0) {
t_temp = 0;
} else {
for (i = 0; i < 30; i++) {
if (val >= TEMP_GROP[i]) {
break;
}
}
diff = (TEMP_GROP[i - 1] - TEMP_GROP[i]);
t_temp = (val - TEMP_GROP[i]) * (10.0 / diff);
}
temp = temp_base + t_temp;
```
这样,根据新的温度表,程序能够正确计算出温度档位和尾数,得到实际温度值。