我对编码还很陌生,目前正在学习 C。在课堂上,我被分配了一个程序来编写一个程序,该程序使用我们自己的函数来计算三角形的斜边。但是,我编写的代码似乎有问题。
#include <stdio.h>
#include <math.h>
double hypotenuse(double x, double y, double z);
int main(void) {
double side1, side2, side3, counter;
side3 = 1;
for (counter = 0; counter <= 2; counter++) {
printf("Enter values for two sides: ");
scanf_s("%d %d", &side1, &side2);
printf("%.2f\n", hypotenuse(side1, side2, side3));
}
return 0;
}
double hypotenuse(double x, double y, double z) {
x *= x;
y *= y;
z = sqrt(x + y);
return z;
}
我的老师说我们可以使用数学库的平方根函数sqrt
。我面临的主要错误是:
1)side3
未定义(这就是为什么我只是随意将其设置为 1,但是还有其他方法可以防止此错误发生吗?)
2) 例如,如果我输入 3 和 4 作为side1
and side2
,那么side3
应该是 5 . 然而,打印出来的结果却是一个长得离谱的数字。
感谢您的帮助!任何建议都表示赞赏。