• ベストアンサー

^この記号を使わない

0.5乗をやりたいのですが、タイトルの通り、「^」の記号を使わずにできないものでしょうか。このままでもコンパイルされるのでしょうか? 私はコンパイラを持っておらず、今すぐ結果を見ることができません。 初心者向けの講座があるようなサイトも数カ所見てみたのですが、このことについては見つけられませんでした。 やろうとしているのは二次関数の計算をcでやる、ということです。 その部分以外はできていて、あとちょっとというところです。 プログラミングの方は初心者に毛が生えかけた程度です。よろしくおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

#1で回答したものです。 書き忘れたので、補足を。 Cでは、「^」この記号には別の意味(ビット毎のxor)があるので n乗のイミでは使えません。 n乗のときは"math.h"にpow()という関数があるのでそれを使います。 0.5の時だけは、sqrt()でもいいんですが。 fortlanみたいないわゆる計算機言語でも、 n乗は**という風に書いたと思います。 「^」を使う言語は、たぶんないんじゃないかと思います。

Sibofn
質問者

お礼

回答ありがとうございます。 n乗のときはこの記号が使えないんですね。 恥ずかしながら、"math.h"というのを今まで知りませんでした。 まだ、入門書片手に、という具合なので… これからもっと勉強しようと思っています。

その他の回答 (2)

  • leaz024
  • ベストアンサー率75% (398/526)
回答No.3

「べき乗」の計算は pow 関数で行います。 double pow(double x, double y); これで x の y 乗が求められます。 # ^ でべき乗が求まるのって、BASICくらいじゃないですか?

Sibofn
質問者

お礼

回答ありがとうございます。 そうです、今まではBASICをやっていました。それで今までの感覚でやっていたのですが、やっぱりうまくいかず… 早速やり直してみようと思います。

回答No.1

"math.h"の中にsqrt()関数があります。 double sqrt(double 0.5乗したい数); です。 以下は使用例です。 #include <stdio.h> #include <math.h> int main() { double i,r; puts("数字を入力."); scanf("%lf",&i) r = sqrt(i); printf("%lfの0.5乗:%lf",i,r); return 0; } いちお、コンパイルして上手くいくことは確認済みです。 解らない所があれば補足をどうぞ。

関連するQ&A