假定变量x,y表示数学式子中的数据,则:(x^2+y^2)/(x-y)的c语言的表达式为?
5个回答
展开全部
调用数学函数,x的2次方表示为pow(x,2),3次方为pow(x,4);依此类推x的n次方为pow(x,n).y的也一样;不过前面得加上
# include <math.h>
在# include <stdio.h>的下一行加
表达式是(pow(x,2) + pow(y,2))/ (x - y)
# include <math.h>
在# include <stdio.h>的下一行加
表达式是(pow(x,2) + pow(y,2))/ (x - y)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
(x*x+y*y) / (x-y); 这个时候需要注意,一般除法结果都有小数点,一般情况下如果要让精确度提高的话往往携程:(x*x+y*y) *1.0/ (x-y);这样的结果会是一个浮点型数据
追问
答案与问题有什么不同?
追答
比如x和y都是int型,那么x*x+y*y的结果将是int型,x-y为int型,int / int 的结果为int 型,损失了精度,如果最后将该int强制转换成float一样会损失精度。。应该让 int*0.1,使上面的式子的结果自动转换为float型,float/int的结果为float型,这样保留了精度。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
# include <math.h>
# include <stdio.h>
void foo(int x, int y)
{
int result;
if((x-y) != 0)
result = (pow(x,2) + pow(y,2))/ (x - y);
else
result = (int)(((unsigned int)-1)>>1);
printf("%d", result);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
比较高效的表达式应该是——
double n,x,y;
...
n=x-y;
if(n)
n=x/n*x+y/n*y;
else printf("Error,by 0...");
double n,x,y;
...
n=x-y;
if(n)
n=x/n*x+y/n*y;
else printf("Error,by 0...");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
(x*x + y*y)/ (x-y)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询