2016-04-01 92 views
-2

寫一個部門表達如何在C語言定義這樣的表達:需要在C語言中

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

其中x是實數。

我試圖輸入表達式,但它沒有幫助。

事情是我不想使用任何自定義函數,只是循環。

任何想法的人?

+0

的「 /'操作員是代表分工的正確操作員。當你說「那沒有幫助」時,你的意思是什麼?你得到了什麼錯誤? –

+0

也許操作員錯誤與'^'? –

+2

在C中,插入符號「^」是按位異或運算符,它只能對整數類型進行操作。沒有電源操作員,但可以將x²計算爲'x * x'或使用''中的'pow(x,2)'。 –

回答

1

在C中,^是按位異或運算符。沒有「權力」運營商。

所以C相當於是這樣的:

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

運算符優先級是一樣的數學,因此請注意,如果您需要一個變量上面是相當於

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

「加薪x對y的冪「,不幸的是只有pow()函數,它對浮點變量起作用,因此有點臃腫和低效。但是,編寫自己的整數版本並不重要,see this

+0

感謝您注意到這個拉力賽有幫助和我正在尋找的一部分 –

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

這裏的關鍵點是:

  • 一個^ 2 C編程並不代表計算能力,它的一 而不是按位異或。
  • a^2可以通過基礎數學簡化爲a * a。
  • 計算在C實際上你需要計算一個數字,而不僅僅是 計算的話(例如打印的printf語句這從該程序在我的例子運行 控制檯)