我正在制作一个取3个无符号长长函数的函数,并应用余弦定律来确定三角形是钝角,锐角还是直角三角形。我应该在使用它们之前将变量加倍加倍吗?无符号长长算术变为双重
void triar(unsigned long long& r,
unsigned long long x,
unsigned long long y,
unsigned long long z)
{
if(x==0 || y==0 || z==0) die("invalid triangle sides");
double t=(x*x + y*y -z*z)/(2*x*y);
t=acos (t) * (180.0/3.14159265);
if(t > 90) {
cout<<"Obtuse Triangle"<<endl;
r=t;
} else if(t < 90){
cout<<"Acute Triangle"<<endl;
r=t;
} else if(t == 90){
cout<<"Right Traingle"<<endl;
r=t;
}
}
为什么函数采用'unsigned long long'而不是'double'? – Troubadour