Problem Description

输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。

Input

输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。

Output

对于每组输入数据,输出一行,结果保留两位小数。

Sample Input

0 0 0 1

0 1 1 0

Sample Output

1.00

1.41

这是我写的代码:

//输入两点坐标(X1, Y1), (X2, Y2), 计算并输出两点间的距离。

#include <iostream>

#include <cmath>

#include <vector>

#include <iomanip>

using namespace std;

int main(void)

{

float px, py, qx, qy;

while (cin >> px >> py >> qx >> qy)

{

int tmp = pow((px - qx), 2) + pow((py - qy), 2);

double res = sqrt(tmp);

cout << setiosflags(ios::fixed);

cout << setprecision(2) << res << endl;

}

return 0;

}

程序应该是这样的:输入一行,按回车显示结果。如果这时再按回车,程序就结束。(误)

问题就是不知道怎么停止输入,只能按ctrl+z或者输入非法字符。

请问在C++里如何实现?不用C

这是通过的C语言代码

#include <stdio.h>

#include <math.h>

int main(){

double x1;

double y1;

double x2;

double y2;

double result;

while((scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2))!=EOF){

result=(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);

result=sqrt(result);

printf("%.2lf\n",result);

}

return 0;

}

我发现按回车也没用,现在我也不清楚机器判断通过的条件是什么。

有人能分析下为什么我的不能通过而上面的这个能够通过呢?

这种算法题目一般都是无限的接受输入,不要求结束的,除非是明确的要求对于什么输入程序要结束

首先来说你的代码

//输入两点坐标(X1, Y1), (X2, Y2), 计算并输出两点间的距离。

#include <iostream>

#include <cmath>

#include <vector>

#include <iomanip>

using namespace std;

int main(void)

{

float px, py, qx, qy;

while (cin >> px >> py >> qx >> qy)

//cin 输入是类型安全的,不会把一个字母当作数字读进来,

//当你输入错误或者达到EOF时,bool(cin)就是false了,所以循环退出

{

// 这里的int类型丢失了精度,是你错误的原因,自己检讨

int tmp = pow((px - qx), 2) + pow((py - qy), 2);

double res = sqrt(tmp);

cout << setiosflags(ios::fixed);

cout << setprecision(2) << res << endl;

}

return 0;

}

然后。。

// 其实这句用处相当相当小,scanf的返回值是成功输入的数字个数 EOF的一般定义值是0

while((scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2))!=EOF){

result=(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);

result=sqrt(result);

printf("%.2lf\n",result);

}

F6 也可以退出。

cin是标准输入流对象,

输入任意非数字字符,流读取失败,就会标记错误,返回false.

F6可跳出循环,是因为它表示eof(文件结束符)。

ctrl+z 是直接终止程序进程。

c++输入回车结束循环,C++ cin如何输入回车停止相关推荐

  1. C++输入0结束循环

    1.输入0时退出循环(法一) while(scanf("%d",&n)==1 && n) 此时scanf返回的是输入的个数,若一直有输入则一直不为0,即sc ...

  2. java循环输入直到,使用循环接受其他用户输入,直到用户输入结束输入的值

    我是Java的新手 . 我需要一些帮助,使用循环接受其他用户输入,直到用户输入结束输入的值 . 我的问题从语句"System.out.println("你完成了吗?输入大写的Y / ...

  3. 蟠桃记c语言当输入0结束循环,杭电OJ第11页2010-2019道题(C语言)

    2010. 水仙花数 问题描述 Problem Description 春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: "水仙花数"是指一个三位 ...

  4. java scanner以回车结束_请问Scanner在输入回车后,如何才能退出?

    package com.imooc; import java.util.Scanner; /*@kernal * 功能描述: * 为指定成绩加分,直到分数大于等于 60 为止, * 输出加分前和加分后 ...

  5. python输入esc退出循环_如何用Esc键停止GhPython或者RhinoPython脚本运行

    本帖最后由 月之眼 于 2015-4-30 17:38 编辑 昨天看见Gh官网有人问,无法随时退出循环脚本,我以前在Mcneel官网看见的如何通过Esc键来退出脚本运行.其实开发者stevebaer已 ...

  6. 《Python编程从入门到实践》学习笔记7:用户输入和while循环

    一.用户输入 函数input()的功能,就是让程序在运行过程中,能够接收到用户的输入进行输出,如下例所示: prompt = "请按照提示输入您的姓名,我们将根据您的姓名显示信息!\n&qu ...

  7. python 循环输入_python入门(用户输入和while循环)

    用户输入和while循环 关于用户输入的事其实我们之前就有提到过,不过没有花时间去细讲,今天我们就花点时间来解决一下它. 首先我们需要知道的是用户输入是什么?顾名思义,用户输入就是指用户需要在输出处输 ...

  8. Python编程:从入门到实践-第七章:用户输入和while循环(语法)

    #7-1 汽车租赁:编写一个程序,询问用户要租赁什么样的汽车,并打印一条消息,如"Let me see if I can find you a Subaru". ''' print ...

  9. C++ while(cin>>a) cin输入直到回车结束

    经常遇到循环输入,直到符合某种条件时结束输入. cin>>s是有返回值的,只要s满足类型条件,就会return true,一直执行下去,而cin会忽略空格或者enter,因此,enter后 ...

  10. c语言语句循环当回车结束,java 循环输入回车结束

    java 循环输入回车结束 [2021-02-08 00:53:12]  简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace("/ ...

最新文章

  1. meetup_如何使用标准库和Node.js构建Meetup Slack机器人
  2. 大学计算机基础 课程的说课,大学计算机基础资料说课稿.ppt
  3. KITTI自动驾驶数据集可视化教程
  4. python与办公自动化专业就业方向_Python最好的几大就业方向与岗位技能要求【行业风向】...
  5. 【数据湖加速篇】 —— 如何利用缓存加速服务来提升数据湖上机器学习训练速度
  6. 后端的日期类型赋值前端表单_Spring Boot实践--前端字符串日期自动转换成后台date类型。...
  7. 1053: [HAOI2007]反素数ant
  8. 特斯拉电动卡车霸气发布,还有一个意外惊喜(全新跑车)
  9. CodeForces 551E(平方分割
  10. 计算的未来30年:2050大会分享实录
  11. mysql允许虚拟机访问权限_设置虚拟机安装的mysql访问权限及删除mysql
  12. 硬盘数据丢失原因?硬盘数据恢复方法
  13. hive运行报错Error during job, obtaining debugging information..FAILED: Execution Error, return code 2
  14. jQuery.ajax 使用点滴
  15. 多项创新功能驱动,Galaxy S9必将引爆2018智能手机市场
  16. 【设计模式】-常见面试题汇总
  17. SAP FREE_SELECTIONS_INIT多表动态选择演示
  18. tp框架中的facade
  19. css 半透明尖角上下调过来,不和背景色重叠
  20. 艾美捷曲妥珠单抗Trastuzumab参数和相关研究

热门文章

  1. linux常用命令全集sed,Linux常用命令之find详解
  2. windows守护进程工具_Linux进程管理
  3. 计算机学院指导报告,重庆大学计算机学院论文指导讲座圆满结束
  4. 语言中出现蘌ress_语言障碍、语言异常及语言发育迟缓的异同
  5. python 知乎接口_ZhihuVAPI 是一个可以让你以一种优雅的形式调用知乎数据的 Python 包....
  6. python调用接口获取文件_Python中做接口自动化如何读取配置ini文件
  7. nyoj810 贪心的嘿嘿(想弄死这出题的)
  8. 信息集成项目管理工程师 学习资料_如何备考系统集成项目管理工程师?
  9. 内容 超链接_Word高效办公:自动创建带超链接的内容目录和图表目录
  10. ROS:ModuleNotFoundError: No module named ‘rospkg‘