gd和iu在谈恋爱吧:C语言问题

来源:百度文库 编辑:神马品牌网 时间:2024/04/30 09:12:51
#include<stdio.h>
void main()
{
float fa,fb,temp;
printf("Please input 2 figures\n");
scanf("%f %f",&fa,&fb);
if(fa = fb)
{
printf("These numbers are equal\n");
}
else if(fa < fb)
{
temp = fa;
fa = fb;
fb = temp;
}
printf("\t%f is larger\n",fa);
}
请问我这个程序有什么错!?该题目是如果相等就输出These numbers are equal !其他情况,输出大的数,后面接is larger,请问我这样写错在哪?
#include<stdio.h>
void main()
{
float fa,fb,temp;
printf("Please input 2 figures\n");
scanf("%f %f",&fa,&fb);
if(fa == fb)
{
printf("These numbers are equal\n");
}
else if(fa < fb)
{
temp = fa;
fa = fb;
fb = temp;
}
printf("\t%f is larger\n",fa);
}
新改成这样,但是在输出同一个数时却出现"is larger"!

一般来说浮点数是不直接比较相等的
对于两个浮点数是否相等的比较一般都采取以下形式
if(fabs(fa-fb)<0.0000001)
printf("they are equal.");
这是与计算机内浮点数处理器的命令有关的
小小见解 如有错误 请原谅
一般来说浮点数是不直接比较相等的
对于两个浮点数是否相等的比较一般都采取以下形式
if(fabs(fa-fb)<0.0000001)
printf("they are equal.");
这是与计算机内浮点数处理器的命令有关的
小小见解 如有错误 请原谅
一般来说浮点数是不直接比较相等的
对于两个浮点数是否相等的比较一般都采取以下形式
if(fabs(fa-fb)<0.0000001)
printf("they are equal.");
这是与计算机内浮点数处理器的命令有关的
小小见解 如有错误 请原谅
一般来说浮点数是不直接比较相等的
对于两个浮点数是否相等的比较一般都采取以下形式
if(fabs(fa-fb)<0.0000001)
printf("they are equal.");
这是与计算机内浮点数处理器的命令有关的
小小见解 如有错误 请原谅
一般来说浮点数是不直接比较相等的
对于两个浮点数是否相等的比较一般都采取以下形式
if(fabs(fa-fb)<0.0000001)
printf("they are equal.");
这是与计算机内浮点数处理器的命令有关的
小小见解 如有错误 请原谅

if(fa == fb)

一般来说浮点数是不直接比较相等的
对于两个浮点数是否相等的比较一般都采取以下形式
if(fabs(fa-fb)<0.0000001)
printf("they are equal.");
这是与计算机内浮点数处理器的命令有关的
小小见解 如有错误 请原谅

楼上正解了