分享一下弧度转化为度分秒的计算代码

#include
#define pi 3.14159265
int main()
{
    int a,b,f;
    float c,e=0.0;
    double d;
    scanf("%lf",&d);
    a=d*(180/pi);
    b=(d*(180/pi)-a)*60;
    c=((d*(180/pi)-a)*60-b)*60;
    f=c*10;            /从这里开始是为了四舍五入,这一步是为了把有两位小数点的数的第二位小数的数 
                       值找出来,方便四舍五入/
    e=c*10-f;
    if(e>=0.5)
    {c=(f+1)/10;}      /其实四舍五入的关键点在于找到要求数据最低位的数字就行,他大于等于5,找到 
                       他的高一位数字加一就行/
    printf("%d %d %.2f",a,b,c);
}

看看题目要求吧

请编写程序,输入弧度,输出角度(包括:度、分和秒数)。

输入格式

弧度

注:弧度为正实数。

输出格式

度数、分数和秒数

注:度数和分数为正整数,秒数为正实数。

要求:秒数输出 2 位小数,末位四舍五入。

在接触这个题之前,我也不清楚弧度怎么转化成度分秒,我也查了些资料,最后在小红书找到的。

现在分享给大家。

我们之前就学过π=180度

那么1弧度就等于180/π;

那么度数就等于题目给的弧度数*(180/π);

度数如果存在小数部分,就用小数部分*60,这样就可以算出他的分的值;1度=60';

如果算出分的值依旧存在小数部分,继续用小数部分*60,就可以算出秒的值;1'=60";

这就是求度分秒转化的过程了,各位有想补充的,欢迎积极留言呀!

你可能感兴趣的:(算法,c#)