晚起鸟儿 发表于 2015-6-21 09:01:04

请帮忙改下简单三角函数赋值

本帖最后由 晚起鸟儿 于 2015-6-21 12:16 编辑

#include<stdio.h>
#include<math.h>
#define PI 3.1416
void main(){
double a,b,x,y;
printf("上角度,下角度");
scanf("%lf %lf",&a, &b);

tan(a*PI/180)*x+tan(b*PI/180)*y=19.05;
x+y=15.72;

printf("左长度=%lf 右长度=%lf \n",x,y);
}
19.05那行等号左边报错,用数学表达式为:tan a*x+tan b*y=19.05
就是tan角度*边长+tan另一角度*另一边长=19.05

哥斯拉不说话 发表于 2015-6-21 09:48:50

错误:
1. 两个未知数一个方程,求不出结果。
2. 写个方程式就想让计算机根据这个方程式求出结果, 思路根本不对。
3. ‘=’在 c语言 中是 赋值号, tan(a*PI/180)*x+tan(b*PI/180)*y=19.05; 的意思是 将 19.05 赋值给 tan(a*PI/180)*x+tan(b*PI/180)*y ,肯定不能赋值,而且 a, b 此时没有赋值。
4. printf("左长度=%lf 右长度=%lf \n",&x,&y);x 和 y 不能加 &。

晚起鸟儿 发表于 2015-6-21 10:14:20

本帖最后由 晚起鸟儿 于 2015-6-21 10:29 编辑

哥斯拉不说话 发表于 2015-6-21 09:48
错误:
1. 两个未知数一个方程,求不出结果。
2. 写个方程式就想让计算机根据这个方程式求出结果, 思路 ...

#include<stdio.h>
#include<math.h>
#define PI 3.1416
void main(){
double a,b,x,y;
tan(a*PI/180)*x+tan(b*PI/180)*y=19.05;
x+y=15.72;
printf("上角度,下角度");
scanf("%lf %lf",&a, &b);
printf("左长度=%lf 右长度=%lf \n",x,y);
}

=是赋值号,==才是等号,这个是知道的,表达错误:sweat:
我加了个x+y=15.72还是错误呀,现在报错在这行了!
a输入35,b输入55,我用计算器假设法计算(4.7*(tan(35))+(11.02*(tan(55))≈19.029
已经接近结果,我看了这个帖子
http://bbs.fishc.com/forum.php?mod=viewthread&tid=11448&extra=page%3D1%26filter%3Ddigest%26digest%3D1
这个用“二分法”或“牛顿迭代法”应该能算出来的呀

哥斯拉不说话 发表于 2015-6-21 11:34:04

你是不是没看编译器给你的错误提示啊,提示说的很明白,不能赋值!代码从第一行开始一行一行的执行,当执行到 tan(a*PI/180)*x+tan(b*PI/180)*y=19.05; 这一行时,请问:a 的值是多少? b 的值是多少? x 的值是多少? y 的值是多少? 你想把 19.05 赋值给什么? 执行到 x+y=15.72; 这一行时, 请问:x 的值是多少?y 的值是多少?您想把 15.72 赋值给什么?

晚起鸟儿 发表于 2015-6-21 12:25:41

本帖最后由 晚起鸟儿 于 2015-6-21 12:38 编辑

哥斯拉不说话 发表于 2015-6-21 11:34
你是不是没看编译器给你的错误提示啊,提示说的很明白,不能赋值!代码从第一行开始一行一行的执行,当执行 ...

不是有个scanf("%lf %lf",&a, &b);么,这个我专程弄前面去了还是不行。a输入35,b输入55呀,x,y就是求的结果呀,这个我用计算器算先假设X和Y数值都能求出结果,C语言应该也能求呀,精华那个和这道理差不多不也求出来了么,大神请看下这个链接呀
http://bbs.fishc.com/forum.php?mod=viewthread&tid=11448&extra=page%3D1%26filter%3Ddigest%26digest%3D1
页: [1]
查看完整版本: 请帮忙改下简单三角函数赋值