注册 登录
编程论坛 C语言论坛

帮我看下,错哪里了

周天一 发布于 2021-04-27 12:58, 1553 次点击
#include <stdio.h>
#include <math.h>
int main()
{
    double A,B,C,a,b,c,area,sinA,sinB;
    sinA=sin(A*3.14159/180);
    sinB=sin(B*3.14159/180);
    sin(A+B)=sin((A+B)*3.14159/180);
    scanf("%lf %lf %lf",&A,&B,&c);
    area=(c*c*sinA*sinB)/(2*sin(A+B));
    printf("area=%.3f",area);
    return 0;
}
6 回复
#2
rjsp2021-04-27 14:52
一头雾水

程序代码:
#include <stdio.h>
#include <math.h>

#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif

int main( void )
{
    double A, B, c;
    puts( "输入三角形的任两个角的角度(不是弧度),以及这两个角之间的边的长度." );
    scanf( "%lf%lf%lf", &A, &B, &c );

    double sinA = sin( A * M_PI/180 );
    double sinB = sin( B * M_PI/180 );
    double sinAB = sin( (A+B) * M_PI/180 );
    double area = (c*c*sinA*sinB)/(2*sinAB);
    printf( "area = %.3f\n", area );
}
#3
rjsp2021-04-27 14:55
这么写更好一些

程序代码:
#include <stdio.h>
#include <math.h>

#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif

int main( void )
{
    double A, B, c;
    puts( "输入三角形的任两个角的角度(不是弧度),以及这两个角之间的边的长度." );
    scanf( "%lf%lf%lf", &A, &B, &c );
    A *= M_PI/180;
    B *= M_PI/180;

    double area = 0.5*c*c*sin(A)*sin(B)/sin(A+B);
    printf( "area = %.3f\n", area );
}
#4
周天一2021-04-27 16:47
#include <stdio.h>
#include <math.h>
int main()
{
 double A,B,C,a,b,c,area,sinA,sinB,sinAB;
 scanf("%lf %lf %lf",&A,&B,&c);
 sinA=sin(A*3.14159/180);
 sinB=sin(B*3.14159/180);
 sinAB=sin((A+B)*3.14159/180);
 
 area=(c*c*sinA*sinB)/(2*sinAB);
 printf("area=%.3f",area);
 return 0;
}
#5
周天一2021-04-27 16:48
谢谢
#6
周天一2021-04-27 16:49
上面做法运行结果也一样
#7
周天一2021-04-27 16:49
上面运行结果一样
1