最近三平方の定理を習ったので、まずは直角三角形の辺の長さを求められるプログラムを作ってみようとソースを書いてみたんですが
デバッグさえできません、、、書いたソースは↓の通りです。
エラー表示はないんですが、scanfがなんとかかんとか言われます。
自分で見直してみたものの何が間違っているのかさっぱりわかりません。また、デバッグさえできてないのでしっかり計算してくれるのかも不明です。
どこが間違っていて、どうすれば動くのか?また、計算等でおかしい部分もあれば教えていただけると嬉しいです。
なにとぞよろしくお願いしますm(_ _)m
#include <stdio.h>
#include <math.h>
int main(void){
double x; //横の長さ
double y; //縦の長さ
double z; //斜めの長さ
double a; //横の長さを求めるときに使う変数
double b;
double n;
double m;
double c; //縦の長さを求めるときに使う変数
double d;
double q;
double w;
double e; //斜めの長さを求めるときに使う変数
double f;
double h;
double g;
printf("直角三角形の一辺の長さを計算します。順を追ってわかる辺の長さを入力してください。\n");
puts("求めたい辺のところは0と入力してください。");
printf("横の長さ:"); scanf("%f",&x);
printf("縦の長さ:"); scanf("%f",&y);
printf("斜めの長さ:"); scanf("%f",&z);
if(x == 0){
a = pow(z,2.0);b = pow(y,2.0); //a=z^2(斜めの二乗)に、b=y^2(縦の二乗)に
n = a - b; //aからbを引きn(横の二乗)を求める
m = sqrt(n); //nを二乗の形から戻す
printf("直角三角形の横の辺の長さは%fcmです。\n",m);
}
else if(y == 0){
c = pow(z,2.0);d = pow(x,2.0); //c=z^2(斜めの二乗)に、d=x^2(横の二乗)に
q = c - d ; //cからdを引きq(縦の二乗)を求める
w = sqrt(q); //qを二乗の形から戻す
printf("直角三角形の縦の辺の長さは%fcmです。\n",w);
}
else if(z == 0){
e = pow(x,2.0);f = pow(y,2.0);
h = e + f;
g = sqrt(h);
printf("直角三角形の斜めの辺の長さは%fcmです。\n",g);
}
else{
printf("ごめんなさい、無理ですヽ(・∀・)ノ");
}
return 0;
}