| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 616 人关注过本帖
标题:菜鸟三角函数问题。
只看楼主 加入收藏
aici1laopo
Rank: 1
等 级:新手上路
帖 子:4
专家分:1
注 册:2010-5-27
收藏
 问题点数:0 回复次数:5 
菜鸟三角函数问题。
因为工作关系,角度运算要求精确到秒!
程序如下:
 #include <stdio.h>
#include <math.h>
main()
{float c,l,dega,x,y,deg;
 int a,b;
 scanf("%d'%d'%f'\n",&a,&b,&c);
 scanf("%f",&l);
 dega=a+b/60+c/3600;           
 deg=(dega*3.14159265358979323846)/180;            /*把角度转换成弧度*/
 x=l*cos(deg);
 y=l*sin(deg);
 printf("%.3f,%.3f\n",x,y);
 getch();
 }

 输入角度数和直线的长度,然后求坐标。
不知道什么原因,计算结果与我用计算器的结果对不上。
请各位大大帮帮忙,找找错。
顺便说一下,我输入60'0'0.0'得出的答案是正确的。
搜索更多相关主题的帖子: 三角函数 
2010-05-28 16:53
aici1laopo
Rank: 1
等 级:新手上路
帖 子:4
专家分:1
注 册:2010-5-27
收藏
得分:0 
怎么没人帮忙解决一下新手问题哦?!~~~~
2010-05-28 17:20
ouyangouyang
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:273
专家分:579
注 册:2009-10-8
收藏
得分:0 
没错啊,我刚刚验证了30度没错,我等下借个计算器来验证一下,你再试试是不是你算错了

多少恨, 昨夜梦魂中。 还似旧时游上苑, 车如流水马如龙; 花月正春风!
2010-05-28 17:50
流行语
Rank: 2
等 级:论坛游民
帖 子:8
专家分:19
注 册:2010-5-27
收藏
得分:0 
#include <stdio.h>
#include <math.h>
void main()
{float  a,b,c,length,dega;
double x,y,deg;
printf("\n输入三个数字:度,分,秒\n");
scanf("%f %f %f'",&a,&b,&c);
scanf("%f",&length);
dega=a+b/60+c/3600;           
deg=(dega*3.14159265358979323846)/180.0;            /*把角度转换成弧度*/
x=length*cos(deg);
y=length*sin(deg);
printf("%.5f,%.5f\n",x,y);
getchar();
}
我是在VC 编译环境下编译的,你试一下,看行不行。
2010-05-28 17:52
aici1laopo
Rank: 1
等 级:新手上路
帖 子:4
专家分:1
注 册:2010-5-27
收藏
得分:0 
3楼。你试一下80'38'22.18',长度是295.436
这个计算结果就不对了啊。
计算器的结果是x=48.051,y=291.502
但是程序的运算结果x=51多。。。。。
2010-05-28 18:27
ouyangouyang
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:273
专家分:579
注 册:2009-10-8
收藏
得分:0 
程序编的没有问题,应该是电脑的算法精度有点问题,达不到你所需的精度,你试试精简你的程序
顺便说说,LZ你的要求精度哪有那么高

多少恨, 昨夜梦魂中。 还似旧时游上苑, 车如流水马如龙; 花月正春风!
2010-05-28 19:54
快速回复:菜鸟三角函数问题。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027111 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved