大家好,这个程序一直显示不对,请帮一下忙,谢谢!

#include

void main()
{
float celsius=0,True_celsius=0,True_salary=0,salary=0;
printf("Enter the number of celsius>\n");
scanf("%1f",&celsius);
printf("Enter the number of salary>\n");
scanf("%1f",&salary);
True_celsius=1.8*celsius+32.0;
True_salary=(salary-5000.00)*0.20+1425.00;
printf("True_salary is %.2f>\n",True_salary);
printf("True_celsius is %.2f>\n",True_celsius);

}

12个回答

#include

int main()
{
float celsius=0,True_celsius=0,True_salary=0,salary=0;
printf("Enter the number of celsius>\n");
scanf("%1f",&celsius);
rewind(stdin); //注意吸收回车
printf("Enter the number of salary>\n");
scanf("%1f",&salary);
True_celsius=1.8*celsius+32.0;
True_salary=(salary-5000.00)*0.20+1425.00;
printf("True_salary is %.2f>\n",True_salary);
printf("True_celsius is %.2f>\n",True_celsius);
return 0;
}

不过我搞不懂你要算什么,好像计算方法有问题。

huodongjie
懵懂先知 我改过了,把%1f改成%f就行了
5 年多之前 回复

警告是double到float丢失数据,输入数据结果也不对

你都有警告了...你把你所有的float类型改成double不就行了,double转float会丢失精度的

huodongjie
懵懂先知 可是我都用的float类型,没声明是double,出现这种情况
5 年多之前 回复

首先#include 这里你没有包含一个头文件,你先包含一个#include ,就可以了,已经帮你在开发环境下测试了

huodongjie
懵懂先知 我是有头文件的,但是没复制上
5 年多之前 回复
huodongjie
懵懂先知 我是有头文件的,但是没复制上
5 年多之前 回复
huodongjie
懵懂先知 我是有头文件的,但是没复制上
5 年多之前 回复
huodongjie
懵懂先知 我是有头文件的,但是没复制上
5 年多之前 回复
huodongjie
懵懂先知 我是有头文件的,但是没复制上
5 年多之前 回复

但是变量都声明为double时输出结果是很长一串,加%。2f后还是那样,何解啊?

把float类型换成double类型试试

huodongjie
懵懂先知 改过,输出数据好大,貌似是超精度
5 年多之前 回复

头文件改成#include

你把你所有的float类型改成double不就行了,double转float会丢失精度的

注意标点符号是不是中文的标点符号,要改成英文的

huodongjie
懵懂先知 。。。我就是在英文输入法下写的,而且有错会警告出错
5 年多之前 回复

而且输入数据无法参与运算,输入 第一个scanf数据后程序就执行完毕了。

共12条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐