プロが教えるわが家の防犯対策術!

台形の面積を求めるプログラムを作りたいのですが、最後の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();
}

A 回答 (2件)

printf("面積は約%dです\n",menseki);



なお、この回答の通りに作って実行してみると判りますが、上底+下底が奇数、高さが奇数の場合、正しい面積は出ません。

上底=2、下底=3、高さ=3の場合、面積は7.5ですが、7と表示されてしまいます。
    • good
    • 0

 なぜ値が「int」として宣言されているのかわかりませんが。


 とりあえず、printfの中は、
printf("%d",menseki);
で表示します。

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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!