2016-04-01 7 views
-2

C言語で除算式を記述する必要があります。は、C言語で、このような式を定義する方法

私はそれをそのまま入力しようとしましたが、それは助けになりませんでした。

私は自分で定義した関数を使用したくないだけです。ループするだけです。

+0

'、あなたが実際にそれを計算する必要がCで数を計算します/ '演算子は、除算を表す正しい演算子です。 「それは助けにならない」と言ったら、どういう意味ですか?どのようなエラーがありましたか? –

+0

オペレータのエラーが「^」である可能性がありますか? –

+2

Cでは、キャレット '^'はビット単位のxor演算子であり、整数型でしか動作できません。動力演算子はありませんが、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コードに "そのまま"式を入力することはあなたのために何もしません。ここ

#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プログラミングで^ 2、そのAここであなたがやりたいだろう単純なCプログラムの例です。代わりに ビット単位のXOR。
  • a^2はa * aに基本数学を使って簡略化できます。
  • だけでなく それを計算する(例えば、printf文は、プログラムが私の例で実行されているから コンソールにこれを印刷します)