********************************************
int sankaku(double a,double b,double c){
double s,s2;
int flag=0;
s = a+b+c
s /= 2.0;
s2 = s*(s-a)*(s-b)*(s-c);
if(s2 <= 0.0) return(-1);
if(a==b)flag++;
if(b==c)flag++;
if(c==a)flag++;
return (flag);
}
********************************************
三角形の問題です。(*引数a,b,cは三角形の三辺の長さ(正値)を与えるの)
(1)戻り値(return value)が「-1」である場合何を意味するか
(2)二等辺三角形の場合の戻り値
(3)正三角形の場合の戻り値
についてお願いします。
No.1ベストアンサー
- 回答日時:
(1)
if(s2 <= 0.0) return(-1);
から、s2<=0.0となる場合です。
…なんて書くと石が飛んできそうな気がするので、s2の計算を見てみます。
s = a+b+c;
s /= 2.0;
s2 = s*(s-a)*(s-b)*(s-c);
となっていますね。a,b,cは正ですからs2計算時のsも正になります。
したがって、s2<=0.0が成り立つにはs-a<=0.0かs-b<=0.0かs-c<=0.0が成り立つ必要があります。
s = a+b+c;s /= 2.0;ですから、s2<=0.0が成り立つには(-a+b+c)/2<=0.0か(a-b+c)/2<=0.0か(a+b-c)/2<=0.0、すなわち、b+c<=aかa+c<=bかa+b<=cが成り立つ必要があります。
これは、3角形の3辺とはならない値が関数に与えられたことを表します。
(2)、(3)
if(a==b)flag++;
if(b==c)flag++;
if(c==a)flag++;
の部分は、各辺のうち長さが一致する辺の個数を数えています。
したがって、二等辺三角形の場合は1、正三角形の場合は3が戻り値となります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラムでの数字につく”f”の...
-
doubleの変数にintとintの割り...
-
difftime()について
-
1円、2円、3円・・・と貯金...
-
C 開放してるのにエラー(doubl...
-
C言語の型による処理速度の違い
-
C言語初心者 構造体 課題について
-
関数におけるif文とreturn文に...
-
C言語を実行すると-infが出てき...
-
c言語で、繰り返し文の中で、0....
-
浮動小数点の定数
-
浮動小数点の比較について
-
至急です! マクロ定義で #defi...
-
C言語のプログラムで#include<m...
-
C#のプログラミングについて(...
-
複素数代入解(C言語)
-
C言語(プログラミング)関連の質...
-
C言語のpow関数の不具合
-
int とdoubleの比較
-
C言語でsqrt(a^2+b^2)のテーブ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラムでの数字につく”f”の...
-
doubleの変数にintとintの割り...
-
c言語で、繰り返し文の中で、0....
-
C 開放してるのにエラー(doubl...
-
C言語を実行すると-infが出てき...
-
float型とdouble型の変数の違い...
-
至急です! マクロ定義で #defi...
-
C言語の型による処理速度の違い
-
関数におけるif文とreturn文に...
-
C言語 関数プロトタイプ宣言の...
-
浮動小数点の定数
-
int とdoubleの比較
-
doubleは常に%lfとするべきなのか
-
difftime()について
-
C言語でdouble型の小数点の引き...
-
たくさんの数の平均を求める方...
-
斜辺と角度て底辺と高さを出したい
-
C言語で台形公式を使った二重積...
-
float?数字の後にLがつくもの
-
listに構造体を格納
おすすめ情報