近日总结下自己曾经饭的错误以滑稽.
1.已知直角三角形直角边6,9,求斜边长,cout输出
我1:勾股定理,
3
2
+
4
2
=
5
2
3^2+4^2=5^2
32+42=52
易得
6
2
+
9
2
=
121
6^2+9^2=121
62+92=121
因
1
1
2
=
121
11^2=121
112=121
所以cout<<"11"<<endl;
WA
我2:
36
+
81
=
127
36+81=127
36+81=127
我3:
36
+
81
=
117
36+81=117
36+81=117
2.给出三条线段 a,b,ca,b,c 的长度,均是不大于 10000 的整数。打算把这三条线段拼成一个三角形,它可以是什么三角形呢?
我1:余弦定理
c
o
s
A
=
b
2
+
c
2
−
a
2
2
b
c
cos A=\cfrac{b^2+c^2-a^2}{2bc}
cosA=2bcb2+c2−a2
c o s B = a 2 + c 2 − b 2 2 a c cos B=\cfrac{a^2+c^2-b^2}{2ac} cosB=2aca2+c2−b2
c o s C = a 2 + b 2 − c 2 2 a b cos C=\cfrac{a^2+b^2-c^2}{2ab} cosC=2aba2+b2−c2
int a,b,c;
cin>>a>>b>>c;
double cosa=(b*b+c*c-a*a)/(2*b*c);
double cosb=(a*a+c*c-b*b)/(2*a*c);
double cosc=(a*a+b*b-c*c)/(2*a*b);
if(fabs(cosa)>=1 || fabs(cosb)>=1 ||fabs(c)>=1){
cout<<"Not triangle"<<endl;
return 0;
}
不是三角形则退出好评,但int计算后只会得到-1 0和以外值,对 ∀ x ∈ [ 1 , 2 ) \forall x\in[1,2) ∀x∈[1,2) 会得到存在.
3.某OJ上我曾经提交的一段代码
我: printf("最大的数是%d",min);