- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:書いたプログラムの間違いを教えてください)
書いたプログラムの間違いを教えてください
このQ&Aのポイント
- C言語を学習し始めた者です。三角形の3辺を入力し、その面積を出すプログラムを書きましたが、面積の計算が正しく行われない問題があります。
- プログラムの問題の原因を特定するために、コードを確認しました。面積の計算式が正しくありません。必要な変数の初期化が行われていないため、計算結果が正しくないのです。
- 修正するために、変数の初期化を正しく行う必要があります。また、入力の前に変数を初期化し、その後に面積の計算式を正しく記述することも重要です。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
入力の後に計算式を書きましょう。 s=(a+b+c)/2; S=sqrt(s*(s-a)*(s-b)*(s-c)); は、scanfの後です。
その他の回答 (3)
- asuncion
- ベストアンサー率33% (2127/6289)
回答No.4
3辺の組合せが三角形を構成する条件は、 「3辺の和の半分が正である」ことではありません。 1)3辺とも正 2)2辺の和が、他の1辺より大きい この2つです。
質問者
お礼
ありがとうございます!
- maiko0318
- ベストアンサー率21% (1483/6969)
回答No.3
sとSは紛らわしいので一方しか使わないようにしたらいいよ。
質問者
お礼
そうします!ありがとうございます!
- nag0720
- ベストアンサー率58% (1093/1860)
回答No.1
入力と計算の順番が逆。 三角形の長さを入力してから面積を計算すること。 あと、s*(s-a)*(s-b)*(s-c)が正であることを確認してから、sqrt(s*(s-a)*(s-b)*(s-c))を計算しないとエラーになることがある。
質問者
お礼
ありがとうございます!
お礼
ありがとうございます!