定义一个摄氏温度转化,main函数中读入摄氏温度调用该函数求出对应的华氏温度,然后在同一行输出对应的两种温度,允许读入多个数据,直到读入的负数停止。用c语言编写
时间: 2025-01-05 22:45:34 浏览: 12
在C语言中,你可以使用`scanf`函数读取用户输入,并通过定义一个函数来进行摄氏转华氏的转换。下面是一个示例,展示了如何在`main`函数中多次循环读取和转换摄氏温度:
```c
#include <stdio.h>
// 函数声明,用于摄氏转华氏
double celsius_to_fahrenheit(double celsius) {
return (celsius * 9.0 / 5.0) + 32;
}
int main() {
char input_valid; // 用于判断输入是否有效
while (1) {
printf("请输入摄氏温度(输入-1结束): ");
double celsius = -1; // 初始化为负数,表示结束输入
// 读取用户的输入
if (scanf("%lf", &celsius) == 1 && celsius != -1) { // 如果输入有效并且不是-1
double fahrenheit = celsius_to_fahrenheit(celsius); // 计算华氏温度
printf("%.2f 摄氏度对应 %.2f 华氏度.\n", celsius, fahrenheit);
} else {
// 输入无效或用户选择结束输入
input_valid = 0;
}
// 清空缓冲区,避免后续输入被前一次读取影响
scanf("%*[^\n]");
}
return 0;
}
```
在这个程序中,当用户输入一个非数字字符或者-1时,读取会结束。每次循环都会清空输入缓冲区,以防止遗留数据干扰下一轮输入。
阅读全文