C 这个节目一切都好吗? 问题是-
编写一个C函数,根据以下条件计算权重z的值- 如果x>y,则z=x^2-4*y 如果xC 这个节目一切都好吗? 问题是-,c,C,编写一个C函数,根据以下条件计算权重z的值- 如果x>y,则z=x^2-4*y 如果x
注意-我是编程或编码的初学者。如果val1==val2表示just-else,您可以从删除else开始,因为这是剩下的唯一一种情况,最坏情况下您将避免浮点相等错误,最坏情况下您将简化代码一点 但真正的罪魁祸首是这句话:
result = pow( val1 + val2 , 3/4 ) ;
由于整数除法,3/4为0。例如,使用3.0/4或仅使用0.75。如果just-else的val1==val2,您可以从删除else开始,因为这是剩下的唯一一种情况,您将避免浮点相等错误。是的,存在。精确比较通常不适用于浮动。只要删除else if,就让它成为else。@EugeneSh:这不会改变任何事情。是的,确实是这样:val1==val2的实现中有一个逻辑错误。写一个简单的程序,告诉你3/4的值。我投票结束这个问题,因为你要求的是a。你也可以使用类型转换。与float3/4类似。我建议使用double而不是float,因为您使用双文本&function0.75已经是double了。如果需要浮点,则需要0。75f@Jean-François Fabre文字是双重的,函数是双重的,但变量是浮动的:
result = pow( val1 + val2 , 3/4 ) ;