
このC言語でのプログラミングがsqrtのところで常にエラーしてしまいます。どこがおかしいのか、おしえてください。
問・三角形の三辺の長さを入力し、ヘロンの公式を利用して面積を求めなさい。
#include <stdio.h>
main()
{
double a,b,c,s,S;
printf("Enter 3 numbers");
scanf("%lf %lf %lf",&a,&b,&c);
s=(a+b+c)/2;
S=sqrt(s*(s-a)*(s-b)*(s-c));
printf("area = %f\n",S);
}
[EOF]
常に表示されるエラー
(1)In fuction `main':
(2)type mismatch in implicit declaration for built-in function `sqrt'
(3)undefined reference to `sqrt'
お願いします。
A 回答 (5件)
- 最新から表示
- 回答順に表示

No.5
- 回答日時:
使用しているOSやコンパイラを書いていただくと、解決に結び付くかもしれません。
コンパイラによってはmathライブラリの結合を指定しなければなりません。
例えばgccならば
% gcc sqrt.c -o sqrt -lm
% ./sqrt
Enter 3 numbers3 4 5
area = 6.000000
のようにすると正しく実行できます。
No.4
- 回答日時:
sqrtとmath.hの関係はANo.1から3の方の通りです。
>a,b,cを3,4,5で入力すると、s=(a+b+c)/2が6になるはずなんですけど、やってみると1.5になっちゃうんです。
「scanf("%lf %lf %lf",&a,&b,&c);」で入力しているのに、「3,4,5」と入力できません、「3 4 5」などと空白で区切ってください。
「3,4,5」だとaに3を入力後、3のうしろの「,」をscanfで処理できないので、bとcに値はセットされていません、今回の場合b+cが0だったのでsは1.5になりました。
No.3
- 回答日時:
★アドバイス
>それでもできないんですよね~
↑
math.h をインクルードしても出来ないという事でしょうか?
>まだ授業ではmath.hを使用することは習っていないのでなくてもできるはずなんですが↓
↑
それなら『sqrt』関数は標準関数(math.h)ではなく自作しなさいという事になっていませんか?
それなら自分で平方根の計算をさせる関数を作ります。
ただ学校で先生が math.h のインクルードをしなさいと言うことを言い忘れていると困りますね。
先生などに確認してみてはどうでしょう。
『sqrt』関数は算術関数として標準関数(math.h)で用意されていますが、利用するには
math.h をインクルードしないとエラー(警告)がでます。
>これはパソコンに問題があるんでしょうか??
↑
パソコンには問題はありません。
問題は先生などの出題者でしょう。
先生に確認して下さい。
本当に math.h をインクルードしないでも計算(コンパイル)できるのか。
・以上。
No.2
- 回答日時:
★アドバイス
・sqrt() 関数が定義されていないからです。
この関数を使うには math.h というヘッダをインクルードしないと使えません。
よって
#include <math.h>
の1行を
#include <stdio.h>
の次の挿入して下さい。
再コンパイルすればエラーにはならないと思います。
・以上。なおC言語に関しては『C/C++』カテゴリがあります。
参考URL:http://oshiete1.goo.ne.jp/c250.html
NO.1さんのところでも書いたようにとりあえずできないんです!!
パソコンが悪いんでしょうか??
友達とは解答が一緒なのに・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
python エラー
-
適切な変換関数が存在しない???
-
VB2008で定数に色の設定をした...
-
コールバック関数指定時のエラー
-
Excelのエラーで困ってます。
-
visual C++ でビルドの中止がで...
-
SQLServerについて
-
バッチからsqlplusの接続エラー...
-
コンパイルできません。
-
フォートランプログラムのエラ...
-
レコードセットをcloseする所で...
-
BC30002: 型 'ListItem' が定義...
-
VC2010のビルドエラーを全部出...
-
Visual Studioのstrcpy_sについて
-
VisualC++でエラーが大量に
-
エクセルのエラーメッセージ「4...
-
左側がクラス、構造体、共用体...
-
ASP.NETの実行時のエラーについて
-
BCC・stdio.h・_stddef.hのエラー
-
multiple definitionというエラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
Excelのエラーで困ってます。
-
バッチからsqlplusの接続エラー...
-
適切な変換関数が存在しない???
-
visual C++ でビルドの中止がで...
-
fortranでプログラムを実行する...
-
デバッグ中のエラーのことで教...
-
Handlesについて
-
HEWを使用しているのですが、こ...
-
ビルド失敗 指定されたファイ...
-
VB2008で定数に色の設定をした...
-
コンパイルできません。
-
DLL関数を使ったプログラム
-
sys/time.hのインクルードがで...
-
ccコマンド時の0711-317エラー
-
左側がクラス、構造体、共用体...
-
c#プログラムについて
-
Visual Studioのstrcpy_sについて
-
LPCWSTRとchar
おすすめ情報