#include<stdio.h>
#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";
这就是求度分秒转化的过程了,各位有想补充的,欢迎积极留言呀!