我一直在尝试创建一个程序来确定: 当给出一组具有最小角度的直角三角形时。 但我有很多困难,我推断如果a是边长,b和c是斜边是一个
float a, b, c, a1, b1, c1;
float sinTheta, sinTheta1;
printf ("Please enter values for a, b, c\n");
scanf ("%f%f%f", &a, &b, &c);
printf ("Please enter values for a1, b1, c1\n");
scanf ("%f%f%f", &a1, &b1, &c1);
sinTheta=a/c;
sinTheta1=a1/c1;
if (sinTheta < sinTheta1)
printf ("the triangle a b c has the smaller angle\n");
else
if (sinTheta > sinTheta1)
printf ("The triangle a1, b1, c1 has the smaller angle\n");
return 0;
答案 0 :(得分:1)
如果这是您的完整源代码,则缺少某些部分。您可以通过编写
导入<stdio.h>
#include <stdio.h>
在代码的开头。
此外,没有main() { ... }
。
您还可以处理两个角度相等的情况sinTheta == sinTheta1
。
#include <stdio.h>
int main() {
float a, b, c, a1, b1, c1;
float sinTheta, sinTheta1;
printf ("Please enter values for a, b, c\n");
scanf ("%f%f%f", &a, &b, &c);
printf ("Please enter values for a1, b1, c1\n");
scanf ("%f%f%f", &a1, &b1, &c1);
sinTheta=a/c;
sinTheta1=a1/c1;
if (sinTheta < sinTheta1) {
printf ("the triangle a b c has the smaller angle\n");
}
else if (sinTheta > sinTheta1) {
printf ("The triangle a1, b1, c1 has the smaller angle\n");
}
else
{
printf ("the angles are the same\n");
}
return 0;
}
BTW:b
的值是多余的。
编辑:
快速&amp;肮脏的方法:
#include <stdio.h>
int main() {
float a, c;
float sinTheta;
float sinThetaMin;
int nMin;
int nTriangle=2; // specifies the number of triangles
int i;
for (i=0; i<nTriangle; i++) {
printf ("Please enter values for a, c for triangle %d\n", i+1);
scanf ("%f%f", &a, &c);
sinTheta = a/c;
printf("%f\n", sinTheta);
if (i == 0) {
sinThetaMin = sinTheta;
nMin = i+1;
}
else {
if (sinTheta < sinThetaMin) {
sinThetaMin = sinTheta;
nMin = i+1;
}
}
}
printf("Smallest triangle is number %d with a/c = %f\n", nMin, sinThetaMin);
return 0;
}