如何用c语言定义这样的表达式:
x+(x^2)/(2*2-1)
其中x
是实数。
我试图按原样输入表达式,但这没有帮助。
事情是我不想使用任何自定义函数,只是循环。
任何人的想法?
答案 0 :(得分:1)
在C中,^
是按位XOR运算符。没有“权力”运营商。
所以C等价物看起来像这样:
x+(x*x)/(2*2-1)
运算符优先级与数学一样,请注意上面的内容等同于
x + ( (x*x) / ((2*2)-1) )
如果你需要一个变量“将x提高到y的幂”,遗憾的是只有pow()
函数,它适用于浮点变量,因此有点膨胀和低效。但是,编写自己的整数版本是微不足道的see this。
答案 1 :(得分:0)
首先,在代码中,您必须奠定基础,以显示您想要的结果。在c代码中“按原样”键入表达式对您无效。下面是一个简单的c程序示例,可以执行您想要的操作:
#include <stdio.h>
int main (void) {
int x, result;
x = 10; // x is 10 for this example, but you may assign any number where both x and result are within the range of integers
result = x + ( x * x ) / ( 2 * 2 - 1 );
printf("The result is : %d", result);
return 0;
}
这里的关键点是: