#编程实现华氏温度值和摄氏温度值的相互转换。补充代码,使得程序运行的结果如下:
说明:若输入1,则根据输入的华氏温度值(F),计算摄氏温度值。计算公式:C= (F-32)/1.8。若输入2,则根据输入的摄氏温度值(C),计算华氏温度值。计算公式:F=C*1.8+32。
用switch做选择进入不同的功能。
代码:
#include <stdio.h>
int main()
{
int select;
double C, F;
printf("1.华氏温度\n2.摄氏温度\n请选择:");
scanf("%d", &select);
printf("\n"); //这一行根据需要选择是否保留,截图中看着有一行空行
switch (select)
{
case 1:
printf("请输入华氏温度:");
scanf("%lf", &F);
C = (F - 32) / 1.8;
printf("摄氏温度是:%.2f\n", C);
break;
case 2:
printf("请输入摄氏温度:");
scanf("%lf", &C);
F = C * 1.8 + 32;
printf("华氏温度是:%.2lf\n", F);
break;
default:
break;
}
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!#include <stdio.h>
int main() {
float F, C;
printf("请输入华氏温度值F:");
scanf_s("%f", &F);
C = 5.0/ 9 * (F - 32);
printf("摄氏温度值C=%f", C);
getchar();
}
参考答案:
题目1:
#include <stdio.h>
int main()
{
int op;
float temp, result;
printf("请选择输入类型(如输入1为华氏温度,输入2为摄氏温度):");
scanf("%d", &op);
if(op == 1){
printf("请输入华氏温度:");
scanf("%f", &temp);
result = (temp - 32) / 1.8;
printf("转换后的摄氏温度为:%.2f\n", result);
}
else if(op == 2){
printf("请输入摄氏温度:");
scanf("%f", &temp);
result = temp * 1.8 + 32;
printf("转换后的华氏温度为:%.2f\n", result);
}
else{
printf("输入有误!\n");
}
return 0;
}
题目2:
#include <stdio.h>
int main()
{
int f;
float c;
printf("请输入华氏温度:");
scanf("%d", &f);
c = (f - 32) * 5.0 / 9.0;
printf("转换后的摄氏温度为:%d\n", (int)c);
return 0;
}
题目3:
#include <stdio.h>
int main()
{
int lower, upper;
printf("请输入温度范围的下限和上限,中间用空格隔开:");
scanf("%d %d", &lower, &upper);
printf("华氏度 摄氏度\n");
for(int fahr = lower; fahr <= upper; fahr += 10){
float celsius = (fahr - 32) * 5.0 / 9.0;
printf("%6d %6.1f\n", fahr, celsius);
}
return 0;
}
题目1的思路:
1.先让用户选择需要进行的操作,是根据华氏温度计算摄氏温度,还是根据摄氏温度计算华氏温度; 2.根据用户的选择,提示用户输入温度值,然后通过相应的公式进行转换; 3.将转换后的温度值输出到屏幕上。
题目2的思路:
1.接收用户从控制台输入的温度值,这里需要使用%d格式化说明符,因为要求必须输入整数; 2.根据输入的华氏度计算对应的摄氏度,并将结果强制转换成整型,以符合题目要求; 3.输出转换后的摄氏度到屏幕上。
题目3的思路:
1.提示用户输入温度范围,这里需要用到%d格式化说明符,因为要求必须输入整数; 2.使用for循环遍历温度范围内的所有温度值,这里以10度为一个间隔; 3.根据华氏度的公式将温度值转换成摄氏度,并将结果输出到控制台上。 4.格式化输出,保留小数位。