| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1358 人关注过本帖
标题:scanf运行被跳过
只看楼主 加入收藏
_c_c
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2014-3-26
结帖率:100%
收藏
 问题点数:0 回复次数:20 
scanf运行被跳过
int main()
{
    int x,y,r,x1,y1,temp1,temp2,j;
    double h;
    printf("请输入圆的坐标:如(x,y)\n");
    scanf("(%d,%d)",&x,&y);
    printf("请输入圆的半径:r");
    scanf("%d",&r);
    printf("请输入点的坐标:如(x1,y1)\n");
    scanf("(%d,%d)",&x1,&y1);
    if(x>x1) temp1=x-x1;
    else temp1==x1-x;
    if (y>y1) temp2=y-y1;
    else temp2=y1-y;
    j=temp1*temp1+temp2*temp2;
     h=sqrt(j);
    if(h>r) printf("点不在圆上!");
    else printf("点在圆上!");
     return 0;   
}
搜索更多相关主题的帖子: double return 
2014-03-26 23:54
_c_c
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2014-3-26
收藏
得分:0 
scanf("(%d,%d)",&x1,&y1);这个语句为什么在运行中被跳过!求老师们,大哥们指点!
2014-03-26 23:59
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:0 
你输入格式不正确吧。

 else temp1==x1-x;
   这里应该是赋值操作而不是比较运算符

思考赐予新生,时间在于定义
2014-03-27 00:18
_c_c
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2014-3-26
收藏
得分:0 
不好意思,复制多个=号!,但这不影响上面读入结果吧?到这句scanf("(%d,%d)",&x1,&y1);也就是第三句读入,就被跳过了!
2014-03-27 00:23
_c_c
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2014-3-26
收藏
得分:0 
为什么而这样却可以读入呢?
################################
#include "stdio.h"
#include "math.h"
main()
{
   int x,y,x1,y1,r,temp1,temp2,j;
   double h;
   printf("input 圆的圆心坐标(X,Y),圆的半径R,点的坐标(X1,Y1)");
   scanf("(%d,%d),%d,(%d,d%)",&x,&y,&r,&x1,&y1);//这 句!
   if(x>x1) temp1=x-x1;
    else temp1=x1-x;
    if (y>y1) temp2=y-y1;
    else temp2=y1-y;
    j=temp1*temp1+temp2*temp2;
     h=sqrt(j);
    if(h>r) printf("点不在圆上!");
    else printf("点在圆上!");
     return 0;   
   
}
######################
2014-03-27 00:47
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:0 
这是很基础的东西,你的代码也没什么错误
你发一张运行时的截图来看看?
如果不是你的输入有问题,那我明天再帮你调试一下。
scanf("(%d,%d)",&x1,&y1);这条语句运行时,在控制台输入数据的格式
是(x1,y1),你格式有没有像这样?

思考赐予新生,时间在于定义
2014-03-27 00:53
蚕头燕尾
Rank: 10Rank: 10Rank: 10
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:734
专家分:1546
注 册:2013-3-24
收藏
得分:0 
代码还没仔细看,但你在被跳过的scanf前面这样一句
fflush(stdin);

一般都是这种错误,你先试试看。

如果不行,明天再仔细看代码

收到的鲜花
  • _c_c2014-03-27 12:28 送鲜花  1朵   附言:我很赞同

学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。               

                                                                                                                    Black Cat      Hello Tomorrow~
2014-03-27 01:10
_c_c
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2014-3-26
收藏
得分:0 
运行时进入cmd是全屏化,不能截图啊!不知道怎么回事!
2014-03-27 08:20
_c_c
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2014-3-26
收藏
得分:0 
原代码是这样的!
#########################
#include "stdio.h"
#include "math.h"
int main()
{
    int x,y,r,x1,y1,temp1,temp2,j;
    double h;
    printf("请输入圆的坐标:如(x,y)\n");
    scanf("(%d,%d)",&x,&y);
    printf("请输入圆的半径:r\n");
    scanf("%d",&r);
    printf("请输入点的坐标:如(x1,y1)\n");
    scanf("(%d,%d)",&x1,&y1);
    if(x>x1) temp1=x-x1;
    else temp1=x1-x;
    if (y>y1) temp2=y-y1;
    else temp2=y1-y;
    j=temp1*temp1+temp2*temp2;
     h=sqrt(j);
    if(h>r) printf("点不在圆上!");
    else printf("点在圆上!");
     return 0;   
}
########################
用turbo c for windows运行时是进入进入什么天汇系统运行,相当无言!不能windows系统截图!
2014-03-27 08:27
_c_c
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2014-3-26
收藏
得分:0 
@LOVE云彩
运行时执行到 printf("请输入点的坐标:如(x1,y1)\n");就没让我输入数据,而是直接继续往下执行了到结尾了!
2014-03-27 08:32
快速回复:scanf运行被跳过
数据加载中...
 
   



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

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