あなたの習慣について教えてください!!

質問です。
辺の長さを表す3個の整数を与えると、どのような三角形になるかを判別するとともに、三角形であればその面積を求めるプログラミングを作成せよ。なお、二等辺三角形、正三角形、直角三角形、鋭角三角形、鈍角三角形いずれについても判定すること。
1.#include <stdio.h>
2.#include <math.h>

3.int main() {
4.int a, b, c;
5. printf("三角形の3辺の長さを入力:\n");
6. printf("辺 a = ");
7.scanf("%d", &a);
8.printf("辺 b = ");
9.scanf("%d", &b);
10.printf("辺 c = ");
11.scanf("%d", &c)
12. if ((a + b > c && a + c > b && b + c > a)
&& (a > 0 && b > 0 && c > 0)) {
13.if (a == b && b == c) {
printf("正三角形\n");
}
14.else if (a == b || b == c || a == b) {
printf("二等辺三角形\n");
}
直角、鋭角、鈍角三角形の判別が良く分かりません。
また、面積を求めるプログラミングはどこの箇所に入れたらいいですか?

A 回答 (2件)

入力の範囲チェックは重要

    • good
    • 0

> プログラミングを作成せよ



プログラムは作成できても、プログラミングは作成できない。

 まず、辺の長さを大きさの順にsortし、それらをp≧q≧rとする。
r≦0 or p > q+r ⇒ 三角形にならない。 (三角不等式)
p=q=r ⇒ 正三角形
p=q or q=r ⇒ 二等辺三角形
p^2 < q^2 + r^2 ⇒ 鋭角三角形
p^2 = q^2 + r^2 ⇒ 直角三角形 (ピタゴラスの定理)
p^2 > q^2 + r^2 ⇒ 鈍角三角形
面積の計算はヘロンの公式を使う。

 高校程度の初等幾何の問題だが、これをプログラミングの問題として出す目的は「わからんことを自分で調査し勉強する能力を開発する訓練」に違いなく、だったらここで教わっちゃ台無しだな。
    • good
    • 3

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

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A