- ベストアンサー
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(); }
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
なぜ値が「int」として宣言されているのかわかりませんが。 とりあえず、printfの中は、 printf("%d",menseki); で表示します。 int型で計算していると、すべての計算(掛け算、割り算も)の結果が整数で帰ってきてしまうので、誤差・おかしな計算結果の原因となります。普通このような計算のときは、「float」「double」で宣言するのが無難です。そのときはprintfの""の中をそれぞれ「%f」「%lf」に変えてください。
その他の回答 (1)
- chie65536
- ベストアンサー率41% (2512/6032)
printf("面積は約%dです\n",menseki); なお、この回答の通りに作って実行してみると判りますが、上底+下底が奇数、高さが奇数の場合、正しい面積は出ません。 上底=2、下底=3、高さ=3の場合、面積は7.5ですが、7と表示されてしまいます。