标题:一个小程序,谭浩强的C程序设计习题5.10,不知道错哪了,大伙来看看啊
只看楼主
a_ae_e
Rank: 2
来 自:江西泰和
等 级:论坛游民
帖 子:23
专家分:30
注 册:2009-8-12
结帖率:80%
已结贴  问题点数:5 回复次数:3 
一个小程序,谭浩强的C程序设计习题5.10,不知道错哪了,大伙来看看啊
在x-y坐标系里,有4个圆形建筑,圆心分别为(2,2),(-2,2),(-2,-2),(2,-2),半径为1,这4个建筑的高度为10cm,其它地方没有建筑物(高度为0),现在输入任意一点坐标,求该点的建筑物高度。
这是我写的代码,不知道错哪了,请大家看下:
#include <stdio.h>
#include <math.h>
#include <conio.h>
main()
{
  float x,y;
  printf("请输入坐标x,y:\n");
  scanf("%f,%f\n",&x,&y);
  if(pow(x-2,2)+pow(y-2,2)>1||pow(x+2,2)+pow(y-2,2)>1||pow(x+2,2)+pow(y+2,2)>1||pow(x-2,2)+pow(y+2,2)>1) printf("该点的建筑高度为0\n");
  else printf("该点的建筑高度为10\n");  
  getch();
}
可以编译运行,但是输入后,没看到任何输出
搜索更多相关主题的帖子: if语句 
2009-08-15 10:44
soler
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:181
专家分:1077
注 册:2005-7-16
得分:5 
scanf("%f,%f\n",&x,&y);加\n是什么意思啊?没明白,刚才我调试了一下,发现必须输入两次才可以。把scanf里面的\n去掉。
再说了你这个代码,输出的全是“该点的建筑高度为0”啊。
因为你输入任何一个坐标,都会满足if后面的条件。。。
2009-08-15 11:00
a_ae_e
Rank: 2
来 自:江西泰和
等 级:论坛游民
帖 子:23
专家分:30
注 册:2009-8-12
得分:0 
以下是引用soler在2009-8-15 11:00的发言:scanf("%f,%f\n",&x,&y);加\n是什么意思啊?没明白,刚才我调试了一下,发现必须输入两次才可以。把scanf里面的\n去掉。再说了你这个代码,输出的全是“该点的建筑高度为0”啊。因为你输入任何一个坐标,都会满足i ...
额,\n。。。把>1通通改成<=1就正确了。谢谢!

是故无贵无贱,无长无少,道之所存,师之所存也
2009-08-15 11:35
shenyulv
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:166
专家分:150
注 册:2009-3-8
得分:0 
回复 2楼 soler:高手哈

叶的离去,是风的过错,还是树的不挽留?
2009-08-15 16:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-282725-1-1.html




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

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