当前位置: 代码迷 >> C语言 >> [求助]大家能帮我看看这个小程序那里出问题了吗?谢谢了
  详细解决方案

[求助]大家能帮我看看这个小程序那里出问题了吗?谢谢了

热度:266   发布时间:2004-10-05 23:27:00.0
[求助]大家能帮我看看这个小程序那里出问题了吗?谢谢了

题目:有4个正方形塔,中心分别为(2,2),(-2,2),(2,-2),(-2,-2),边长均为2,高度为10,塔外高度为0.今输入一坐标,求该点的建筑高度.

我写的:

main() { int h; float x,y; printf("input one number:"); scanf("%f,%f",&x,&y); if(-3<=x<=-1&&1<=y<=3||-3<=x<=-1&&-3<=y<=-1||1<=x<=3&&-3<=y<=-1||1<=x<=3&&1<=y<=3) h=10; else h=0; printf("The height of construction is %d\n",h); }

我觉得没错啊,但在TC下调试结果不对.(我输入任何两个数字,出来都是10)

我刚开始学C,望大家帮我看看,谢谢了

[此贴子已经被作者于2004-10-05 23:57:55编辑过]


----------------解决方案--------------------------------------------------------
(2-,-2)这是个什么坐标阿?
----------------解决方案--------------------------------------------------------

抱歉,打错了

现在改过来了


----------------解决方案--------------------------------------------------------
if else的判断条件错了,改一下。
----------------解决方案--------------------------------------------------------

我试了一下,这样就好了:

#include <stdio.h> main() { int h; float x,y; printf("input one number:"); scanf("%f,%f",&x,&y); if(-3<=x&&x<=3&&-3<=y&&y<=3) { if (-1<x&&x<1&&-1<y&&y<1) h=0; else h=10; } else h=0; printf("The height of construction is %d\n",h); return 0; }

在bc31下编译运行。

可能判断语句有些不简练,望大家给给更好的。


----------------解决方案--------------------------------------------------------
谢谢楼上那位兄弟
----------------解决方案--------------------------------------------------------

我终于知道哪里错了

不能写成-3<=x<=-1,要写成-3<=x&&x<=-1

小弟刚开始学,完全一个菜鸟


----------------解决方案--------------------------------------------------------
  相关解决方案