我是C语言的新手,我在将这个简单的算术运算转换为公吨时遇到了麻烦。我不知道如何解决它。它总是给我错误的结果。
#include<math.h>
#define oz 35273.92
main()
{
int ounces;
float mton;
clrscr();
printf("Enter ounces: ");
scanf("%d",&ounces);
mton = ounces/oz;
printf("The metric ton is %f.", mton);
getch();
return(0);
}
我尝试输入70547.84,但结果是错误的。
Enter ounces: 70547.84
The metric ton is 0.014026
如果我输入一个低于oz
的数字,它会给我-0.000000
答案 0 :(得分:2)
很抱歉,我无法使用我的编译器(GCC 6.3.0)重现这一点。我得到的结果是1.999976
,这是相当合理的。此外,我还没有-0.000000
输入低于oz
。
我建议您使用ounces
的浮点值,因为您正在输入十进制数字。如果您使用int
,则您将无法读取小数点。您将在ounces
中获得70547,并在输入流中留下.84
。
#include <stdio.h>
#define oz 35273.92
int main() {
float ounces;
float mton;
clrscr();
printf("Enter ounces: ");
scanf("%f", &ounces);
mton = ounces/oz;
printf("The metric ton is %f.", mton);
getch();
return(0);
}
这应该会给你想要的结果。