#include<stdio.h>
#include<math.h>
main()
{
float a[3][2],b[1][2],r,R,s,ra,sl /*二维数组的前三行输入三个对应的坐标,数组b计算起终点的中点坐标*/
int i,j /*r记录弦的半长,R记录弧的半径,s记录弦中点到弧中点的距离,ra记录夹角,sl记录弧长*/
for(i=0i<3i++)
{
for(j=0j<2j++)
{
printf("a[%d][%d]=",i+1,j+1)
scanf("%f,%f"&a[i][j])
printf(",")
}
printf("\n")
}
for(i=0i<2i++)
{
b[0][i]=(a[0][i]+a[2][i])/2.0 /*求出弦中点坐标*/
}
r=sqrt((a[2][0]-a[0][0])*(a[2][0]-a[0][0])+(a[2][1]-a[0][1])*(a[2][1]-a[0][1]))/2.0 /*计算弦长并除以2*/
s=sqrt((a[1][0]-b[1][0])*(a[1][0]-b[1][0])+(a[1][1]-b[1][1])(a[1][1]-b[1][1]))
R=(s*s+r*r)/(2.0*s) /*因为有(R-s)2+r2=R2(这个注释中的2表示平方)*/
ra=2.0*(asin(r/R)) /*求出夹角,弧度制*/
sl=R*ra /*求出弧长*/
printf("sl=%f,ra=%f\n",sl,ra)
}
#include <stdio.h>int main(){
float s,l,a,r
printf("请输入扇形半径r和圆心角a(r,a):")
scanf("%f,%f",&r,&a)
s=0.5*a*r*r
l=a*r
printf("s=%.2f,l=%.2f\n",s,l)
return 0
}
1、30°是角度,但在C语言中用的是弧度。什么是角度?什么是弧度?他们之间又怎么转换呢?2、角度:角度,是一个数学名词,表示角的大小的量,通常用度或弧度来表示。 也可用来比喻看事情的出发点。
3、弧度:在数学和物理中,弧度是角的度量单位。它是由国际单位制导出的单位,单位缩写是rad。定义:弧长等于半径的弧,其所对的圆心角为1弧度。(即两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧。当这段弧长正好等于圆的半径时,两条射线的夹角的弧度为1)。
4、他们之间的转换公式:角度乘以 π/180 便可
如 180°换成弧度制 把180乘π/180 得π
相反地 弧度制换角度 乘以180/π 就可以啦~
5、所以
sin(30°)在C中应该写成sin(30*3.14/180)