如何编写一个华氏摄氏度与摄氏温度之间的C语言转换程序?

转换公式:F=9/5*C+32
2025-04-14 05:48:10
推荐回答(4个)
回答1:

C语言程序:

#include 

int main()
{
double f, c;

printf("请输入摄氏温度值:");
scanf("%lf", &c);
f = 9.0 / 5 * c + 32;
printf("华氏温度值:%lf\n", f);

printf("请输入华氏温度值:");
scanf("%lf", &f);
c = (f - 32) * 5 / 9;
printf("摄氏温度值:%lf\n", c);

return 0;
}


运行测试:

请输入摄氏温度值:35
华氏温度值:95.000000
请输入华氏温度值:95
摄氏温度值:35.000000

回答2:

#include
int main(void)
{
  float a = 0.0;
  int c = 0;

  printf("转换摄氏温度请输入1,转换华氏温度请输入2:");
  scanf("%d", &c);

  switch (c)
  {
    case 1:
      printf("请输入摄氏度:");
      scanf("%f", &a);
      printf("等于%.2f华氏度\n", a*1.8 + 32);
      break;
    case 2:
      printf("请输入华氏度:");
      scanf("%f", &a);
      printf("等于%.2f摄氏度\n", (a - 32) * 5 / 9);
      break;
    default:
      printf("\a输入了无效数字!\n");
    break;
  }
  return 0;
}

回答3:

因为你定义的变量是float类型,而如果输入5和9的话,电脑会认为是两个整形数据先相除,然后再转换成float型,所以就变成0了。

回答4:

#include "stdio.h"
#include "conio.h"

void main()
{
float C;
float F;
char flag;

loop:
printf("f to c(c) or c to f(f),exit(q)?\n");
scanf("%c",&flag);

if(flag=='q'||flag=='Q')
exit();
else if(flag=='f'||flag=='F')
{
printf("input a number:\n");
scanf("%f",&C);
F=C*9/5+32;
printf("F=%f\n",F);

}
else if(flag=='c'||flag=='C')
{
printf("input a number:\n");
scanf("%f",&F);
C=(F-32)*5/9;
printf("C=%f\n",C);

}
else
goto loop;
getch();

}

如果华氏转摄氏就先按c或者C,摄氏转华氏先按f或者F,退出按q或者Q