C语言:一个计算摄氏度华氏度和绝对温度三种数转换的程序
答案:2 信息版本:手机版
解决时间 2020-03-31 21:49
已解决
2020-03-31 06:26
初学C语言
有道题大概是
要求创建一个Temperatures的新函数,开始输入一个摄氏度,通过调用Temperatures这个函数同时输出华氏度和绝对温度,
摄氏度=1.8*华氏度+32
绝对零度=摄氏度+273.16
这是自己写的,但是感觉指针用的极其不对,望高手指教,能改就改,不能改请给我一个正确的参考一下
/* Celsius,Kelvin,Fahrenheit -摄氏度 绝对温度 华氏度
#include "stdio.h"
double Tempeartures(double *,double*,double*);
int main()
{
double Celsius,Kelvin,Fahrenheit;
while (Fahrenheit!=0)
{
printf("please enter a Fahrenheit number");
scanf("%f",&Fahrenheit);
Temperatures(&Fahrenheit,&Celsius,&Kelvin);
printf("%fFahrenheit is %fKelvin is %fCelsius",Fahrenheit,Kelvin,Celsius);
return 0;
}
void Temperatures(double*u,double*v,double*w)
{
*v=1.8*(*v)=32;
*w=*v+273.16;
}
while ()前少了一个printf("please enter a Fahrenheit number");
scanf("%f",&Fahrenheit);
然后循环体中1,2和3.4行换下位置
循环打错了,失误
全部回答
1楼
2020-03-31 07:32
最后一句应该是printf("转换为华氏度为%d",b);
2楼
2020-03-31 06:37
楼上的,你自己改一下就晓得。。有几个问题,我改了你的代码你看下
1.你的公式就写错了,而且*v *u都用错了。
2.你数据的问题是在你用的是%f,但你用的却是double型的数,没有经过强转,而且没有赋初始值,所以会出现乱码数字。
你看下我给你的代码
#include "stdio.h"
void Temperatures(float*u,float*v,float*w)
{
*v=(float)(*u - 32)/1.8;
*w=(float)*u+273.16;
}
int main()
{
float Celsius,Kelvin,Fahrenheit = 0.0;
printf("please enter a Fahrenheit number");
scanf("%f",&Fahrenheit);
Temperatures(&Fahrenheit,&Celsius,&Kelvin);
printf("%fFahrenheit is %fKelvin is %fCelsius",Fahrenheit,Kelvin,Celsius);
return 0;
}
我要举报
如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
大家都在看
推荐资讯