需要用c语言编写一个除法表达式

时间:2016-04-01 08:21:39

标签: c codeblocks

如何用c语言定义这样的表达式:

x+(x^2)/(2*2-1)

其中x是实数。

我试图按原样输入表达式,但这没有帮助。

事情是我不想使用任何自定义函数,只是循环。

任何人的想法?

2 个答案:

答案 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;
}

这里的关键点是:

    c编程中的
  • a ^ 2并不代表计算功率,它是a 改为按位异或。
  • a ^ 2可以通过基础数学简化为a *。
  • 计算c中的数字,你需要实际计算它,而不仅仅是 计算它(例如,printf语句将其打印到 在我的例子中运行程序的控制台)