2010-09-09 114 views
2

本学期我正在参加C语言课程,尽管没有完成先决条件,但仍以某种方式被允许注册。我以为我仍然能够处理它,但现在我已经通过了放弃它的不归之处,我发现自己完全失去了。作为初学者入门:C编程

对于我目前的任务,我应该创建一个程序,执行一些简单的触发操作并显示结果。主要想法是有一座建筑物,我站在一定的距离。

对于A部分,我必须计算建筑物的高度,假设我站在距建筑物120米的地方,并以30度角(正/负3度)倾斜我的头部时观察顶部。

B部分,假设建筑物高200英尺,我站在20英尺远。什么角度我不得不倾斜我的头看顶部? C部分,考虑到B部分的信息,从我的头到建筑物顶部的距离(斜边)有多远?

到目前为止,我写了这个:

#include <stdio.h> 
    #include <math.h> 
    #define MAX_ANGLE 33 
    #define MIN_ANGLE 27 
    #define DIST_A 120 
    #define DIST_B 20 
    #define HEIGHT_B 200 
    #define PI 3.14159 

    int main() 
    (

    double MIN_ANGLE_R, MAX_ANGLE_R; 

MIN_ANGLE_R = MIN_ANGLE * (PI/180); 
MAX_ANGLE_R = MAX_ANGLE * (PI/180); 
min_height = DIST_A * tan(MIN_ANGLE); 
max_height = DIST_A * tan(MAX_ANGLE); 
angle = atan(HEIGHT_B/DIST_B)/(PI/180); 
hypotenuse = HEIGHT_B/tan(angle); 

printf ("The minimum height is %6.2f meters.\nThe maximum height is%6.2f meters.\n\n",min_height,max_height); 
printf ("The angle that youw ill tilt your head to see\nthe top of the building is %3.2f feet.\n",angle); 
printf ("The distance from your head to the top of the building is %6.2f feet.\n",hypotenuse); 

return 0; 
) 

当我尝试编译程序,我不断收到,我不知道如何读的错误。如果任何人都可以阅读我的程序,并告诉我缺少什么,这将是一个巨大的帮助。

+2

你可以发布这些错误吗?我们不是很明智的猜测。 – 2010-09-09 22:46:56

+1

发布您用于编译程序的命令以及您获得的控制台输出。这个问题也许更适合于您可以更容易地来回讨论的论坛。我在XKCD论坛上运气不错。 – haydenmuhl 2010-09-09 22:51:06

回答

6
  1. 请勿混淆(){}。他们的意思不同。
  2. 声明你的变量。
+0

太棒了,这工作,编译和运行它。现在,我有一些疯狂的答案弹出:最低高度是-392.84米。 最大高度是-9037.56米。 角度,你会倾斜你的头看 顶部的建筑物是84.29英尺。 从你的头到建筑物顶部的距离是-338.60英尺。 – Jesse 2010-09-09 22:57:12

+0

@Jesse,听起来像你在计算中犯了错误。 (提示 - 如果你以后没有在程序中使用它们,你计算什么值为弧度值?) – 2010-09-09 22:59:50

+0

嗯...... C是否使用弧度或度数? – Jesse 2010-09-09 23:03:54

2

您必须用“{...}”而不是“(...)”来打开和关闭main()。此外,你必须声明你正在使用的所有变量(不只是MIN_ANGLE_R和MAX_ANGLE_R)。

2

我不是C程序员,但我怀疑你的trig函数是以弧度工作的,而且你似乎正在通过度数。