角度与弧度的转换 C语言

wuchangjian2021-11-15 22:04:29编程学习

编译环境::VS 2019

定义:

角度:从圆心引出两条射线射出,形成一个夹角和夹角正对的一段弧。当弧长正好等于圆周长的360分之一时,两条射线的夹角的大小为1度,如图一所示。(单位: º)

弧度:从圆心引出两条射线射出,形成一个夹角和夹角正对的一段弧。当弧长正好等于圆的半径时,两条射线的夹角大小为1弧度,如图二所示。(单位:rad)

弧度 = 弧长/半径    弧长 = 周长

 圆周长 = πd = 2πr (其中 d 为直径 ,r 为半径),其中  π 为 3.1415926

一 、角度转化为弧度

1. 圆的角度为360°  , 弧长为 2πr  , 根据 弧度 = 弧长 / 半径   ,得圆的弧度为 2π 

2.  由 1 得  360° = 2π (rad) , 故可知 1° = π / 180°

3.  可得出  n° = n * π / 180°

二、弧度转化为角度

1. 由 一 可知  360° = 2π (rad)

2. 即可知 1 rad = 360°  / 2π  = 180° / π 

3. 可得出 n rad =  n *  180° / π

三、 度、分、秒的转换

此处引用:角度的换算(度分秒转化)    (若侵权,即删)

 四 、 代码

1. 弧度转换为角度

#include<stdio.h>
#define pi 3.1415926
int main()
{
	int degree, minute, second;   //  角度值,定义 度,分,秒
	float angle, min, sec;        //  
	float radian;                 //  定义弧度
	scanf_s("%f", &radian);       //  输入弧度值

	angle = radian * 180 / pi;    //  计算角度 , n°= n * 180 / pi
	degree = int(angle);          //  取出度数值

	min = (angle - degree) * 60;  //  计算出"分"
	minute = int(min);

	sec = (min - minute) * 60;    //  计算出"秒"
	second = int(sec);

	printf("%f %d\n",angle,degree);
	printf("%f %d\n", min, minute);
	printf("%f %d\n", sec, second);
	return 0;
}

2. 角度转换为弧度

#include<stdio.h>
#define pi 3.1415926
int main()
{
	float angle;   // 定义角度值
	float radian;  // 定义弧度
	float degree, minute, second;   //  定义 度 , 分 , 秒
	scanf_s("%f%f%f", &degree, &minute, &second);    //  输入
	angle = degree + minute / 60 + second / 3600;    //  进行计算得出角度值
	radian = angle * pi / 180;          //  角度转换弧度计算公式
	printf("%f\n", angle);    //  输出
	printf("%.2f\n", radian);
}

3.  结合(初学,有误请指正)

#include<stdio.h>
#define PI 3.1415926    // 宏定义

//   计算角度值,即弧度转角度
void angle(double rad)
{
	double angle1;   // 声明:角度
	int degree, minute, second;  //  声明 : 度 , 分 , 秒
	double min, sec;             //  中间变量

	angle1 = rad * 180 / PI;     //  计算角度值
	degree = int(angle1);        //  取出 度

	min = (angle1 - degree) * 60;  //  计算 分
	minute = int(min);             //  取出 分

	sec = (min - minute) * 60;     //  计算 秒
	second = int(sec);             //  取出 秒

	printf("%lf\n", angle1);
	printf("%d%d%d\n", degree, minute, second);	
}

// 计算弧度  即 角度转弧度
void redian(double ang)
{
	double redian1;           //  声明 弧度
	redian1 = ang * PI / 180; //  计算弧度值,即角度转弧度
	printf("%lf\n", redian1);
}

int main()
{
	double rad,ang;    //  声明: 弧度,角度
	scanf_s("%lf%lf", &rad, &ang);   //  输入 : 弧度,角度
	angle(rad);        //  调用函数名
	redian(ang);
	return 0;
}

经验证,结果无误

附在线弧度转换网站:角度转换在线计算器

相关文章

Linux常用命令

cd (相对路径或绝对路径) ——跳转到指定目录 cd..——返回当前目录的上一级目录...

ubuntu设置快捷方式

这里以pycharm为例 创建xxx.desktop,格式如下ÿ...

jmeter 接口请求出现安全验证解决方案

1. 1.需要把请求协议 https 改成 http        端口号  443 ...

21天好习惯第一期-13

A 直播获奖 思路: 留意数据范围,每个人的成绩在0\s...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。