关于可以使用float不可以用double的问题
本帖最后由 LYF39 于 2021-12-22 14:22 编辑#include<stdio.h>
int main()
{
char A;
int B;
double C;
double D;
double E;
printf("请输入您的姓名:");
scanf("%s",A);
printf("请输入您的身高(cm):");
scanf("%d",&B);
printf("请输入您的体重(kg):");
scanf("%f",&C);
printf("=========正在为您转换============\n");
D=B/2.54;
E=C*2.2;
printf("%s的身高是%.2f(in),体重是%.2lf(lb)。\n",A,D,E);
return 0;
}
这里如果C和E使用float是可以对体重进行计算的,但是如果使用double就不可以,然后我查找了之前的求助帖发现很多人说是因为double的输出是%lf,然后我改了之后还是错误,并且我D数据是用的double,最后的输出写的也是%f,但是结果是对的
还有一个问题是下面的编程中我最终输出的结果小数被约掉了,如果我把int换成float或者double就是对的,但是我在想我的B是用的double 理论上来说我计算的B是小数应该是显示出来的啊
#include<stdio.h>
#include<math.h>
int main()
{
int A;
double B;
printf("请输入华氏度:");
scanf("%d",&A);
B=(A-32)*5/9;
printf("转换为摄氏度是:%.2lf",B);
return 0;
} 我好像发错地方了
页:
[1]