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