sle8课后作业动动手1
为什么,我这int i,然后出来的结果就是7.00,不是7.22,我对比了下和小甲鱼的程序,就只有一个int和float的区别,45用int不是挺好的嘛 这是我的代码#include <stdio.h>int main()
{
int i;
float j;
printf("请输入华氏度:");
scanf("%d",&i);
j=(i-32)*5/9;
printf("转换为摄氏度是;%.2f\n",j);
return 0;
} 因为你的 i 定义为了整型
所以(i-32)*5/9的结果默认是整型d
j=(i-32)*5/9;这一步就相当于将(i-32)*5/9计算得到的结果进行了强制转化为float型
看个例子,这段代码中k的值
#include <stdio.h>
int main()
{
int i,k;
float j;
printf("请输入华氏度:");
scanf("%d",&i);
k = 5/9;
printf("%d\n",k);
j=(i-32)*5/9;
printf("转换为摄氏度是;%.2f\n",j);
return 0;
}
#include <stdio.h>
int main()
{
int i;
float j;
printf("请输入华氏度:");
scanf("%d",&i);
j=(i-32)*5/9.0;
printf("转换为摄氏度是;%.2f\n",j);
return 0;
}
yuedong 发表于 2021-3-11 19:47
这样也可以,就是让算式中存在了不是整型的数,结果也就不会再默认成整型了
但是你想一下温度什么的有小数不是很正常吗,例如37.2°,所以还是float型比较合适 yuedong 发表于 2021-3-11 19:48
这样也可以,就是让算式中存在了不是整型的数,结果也就不会再默认成整型了
但是你想一下温度什么的有小 ...
#include <stdio.h>
int main()
{
float k;
k = 3/2;
printf("%.2f\n",k);
return 0;
}
那你看,我这里,出来的结果是1.00,我把那个k=3/2改成k=3/2.0或者k=3.0/2,结果都能出1.50,我想是不是计算的结果,只要式子中有一个数是小数,结果就能出小数,就好像上面的代码,j=(i-32)*5/9,把任何一个数改成小数就能出正确的结果,32.0或5.0或9.0,其实float i 也相当于把i确定为小数。我这样想的。 yuedong 发表于 2021-3-11 19:48
这样也可以,就是让算式中存在了不是整型的数,结果也就不会再默认成整型了
但是你想一下温度什么的有小 ...
谢谢
页:
[1]