main関数から入力された数値の2乗、3乗を計算し、それぞれ表示する関数を作りたいです。
標準関数のpowは使いたくないです。
要は、乗算を2回、乗算を3回という形でのコードをか書きたいです。
引数、戻り値はともにfloatで宣言したいです。
取り掛かりが分からないので、まだコードもないです。
どなたか、よろしくお願い致します。
さすがに自分で書いたコードも無く回答下さいはやめましょう。
申し訳ありません。勉強を始めたばかりでして。。。
ここのヘルプにある「1.質問をする前に心がけてほしいこと(https://teratail.com/help/question-tips)」に目を通すことをお勧めします。
はい。がんばりましょう。
過去の質問をみるとそうでもない気がしますが…。別人ですかね…。
申し訳ありません。別人ではないです。。。過去はPHPやPerlをやっていたのですが、もうだいぶ時間が空いた後のC言語なので、混乱していました。徐々に取り戻せるように頑張ります。自分の質問を読み返してみると、確かに知ろうと丸出しの質問でした。申し訳ありません。
誤ってばかりだと気が滅入るので、次回気を付けて気にせずがんばりましょう。 :)
ありがとうございます。ここまではたどり着きました。 このままやると、squareとcubeそれぞれがpowについて参照されていない旨のエラーが出ました。 #include<stdio.h> #include<math.h> float npow(float a,int n); float square(float x); float cube(float x); int main(void) { float r; printf("数値を入力してください:"); scanf("%f",&r); printf("2乗は:%5.3f\n",square(r)); printf("3乗は:%5.3f\n",cube(r)); return 0; } float square(float x) { return npow(x, 2); } float cube(float x) { return npow(x, 3); }
どこかしらでソースを持ってこられたのかと思いますが、npow はそのサイト?で使っておられる関数であって標準関数ではないです。
ちなみに npow を pow にしてリンクフラグ -lm を付ければ通ると思います。ただ標準関数の pow は使いたくないと書かれているので本末転倒ですが。
