• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:書いたプログラムの間違いを教えてください)

書いたプログラムの間違いを教えてください

このQ&Aのポイント
  • C言語を学習し始めた者です。三角形の3辺を入力し、その面積を出すプログラムを書きましたが、面積の計算が正しく行われない問題があります。
  • プログラムの問題の原因を特定するために、コードを確認しました。面積の計算式が正しくありません。必要な変数の初期化が行われていないため、計算結果が正しくないのです。
  • 修正するために、変数の初期化を正しく行う必要があります。また、入力の前に変数を初期化し、その後に面積の計算式を正しく記述することも重要です。

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

  • ベストアンサー
  • ottimisto
  • ベストアンサー率72% (8/11)
回答No.2

入力の後に計算式を書きましょう。 s=(a+b+c)/2; S=sqrt(s*(s-a)*(s-b)*(s-c)); は、scanfの後です。

qqlily
質問者

お礼

ありがとうございます!

その他の回答 (3)

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.4

3辺の組合せが三角形を構成する条件は、 「3辺の和の半分が正である」ことではありません。 1)3辺とも正 2)2辺の和が、他の1辺より大きい この2つです。

qqlily
質問者

お礼

ありがとうございます!

  • maiko0318
  • ベストアンサー率21% (1483/6969)
回答No.3

sとSは紛らわしいので一方しか使わないようにしたらいいよ。

qqlily
質問者

お礼

そうします!ありがとうございます!

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.1

入力と計算の順番が逆。 三角形の長さを入力してから面積を計算すること。 あと、s*(s-a)*(s-b)*(s-c)が正であることを確認してから、sqrt(s*(s-a)*(s-b)*(s-c))を計算しないとエラーになることがある。

qqlily
質問者

お礼

ありがとうございます!

関連するQ&A

専門家に質問してみよう