问题描述
- 大家好,这个程序一直显示不对,请帮一下忙,谢谢!
-
#includevoid 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);}
解决方案
#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;
}
不过我搞不懂你要算什么,好像计算方法有问题。
解决方案二:
警告是double到float丢失数据,输入数据结果也不对
解决方案三:
你都有警告了...你把你所有的float类型改成double不就行了,double转float会丢失精度的
解决方案四:
首先#include 这里你没有包含一个头文件,你先包含一个#include ,就可以了,已经帮你在开发环境下测试了
解决方案五:
但是变量都声明为double时输出结果是很长一串,加%。2f后还是那样,何解啊?
解决方案六:
但是变量都声明为double时输出结果是很长一串,加%。2f后还是那样,何解啊?
解决方案七:
把float类型换成double类型试试
解决方案八:
头文件改成#include
解决方案九:
你把你所有的float类型改成double不就行了,double转float会丢失精度的
解决方案十:
注意标点符号是不是中文的标点符号,要改成英文的