• ベストアンサー

C言語プログラミング

台形の面積を求めるプログラムを作りたいのですが、最後のmensekiの出力の仕方がわかりません。printf以降のプログラムを教えてください。 #include<stdio.h> #include<conio.h> void main() { int number1,number2,number3,menseki; printf("上底を入力してください:"); scanf("%d",&number1); printf("下底を入力してください:"); scanf("%d",&number2); printf("高さを入力してください:"); scanf("%d",&number3); menseki=(number1+number2)*number3/2; printf( ここがわかりません getch(); }

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

  • ベストアンサー
  • 12m24
  • ベストアンサー率23% (193/817)
回答No.2

 なぜ値が「int」として宣言されているのかわかりませんが。  とりあえず、printfの中は、 printf("%d",menseki); で表示します。  int型で計算していると、すべての計算(掛け算、割り算も)の結果が整数で帰ってきてしまうので、誤差・おかしな計算結果の原因となります。普通このような計算のときは、「float」「double」で宣言するのが無難です。そのときはprintfの""の中をそれぞれ「%f」「%lf」に変えてください。

その他の回答 (1)

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

printf("面積は約%dです\n",menseki); なお、この回答の通りに作って実行してみると判りますが、上底+下底が奇数、高さが奇数の場合、正しい面積は出ません。 上底=2、下底=3、高さ=3の場合、面積は7.5ですが、7と表示されてしまいます。

関連するQ&A