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 学过任何一门编程语言的人,做这道题应该是5分钟解决战斗吧。就像我一开始这样写
#include<iostream>
#include "stdio.h"
#include<math.h>
using namespace std;
int main()
{
float a,b,x,y;
float dis;
cin>>a>>b>>x>>y;
dis=sqrt((a-x)*(a-x)+(b-y)*(b-y));
printf("%.2f",dis);
return 0;
}

然后提交,系统就会提示错误答案。一开始一直在从数据类型和范围上找,始终没能解决,但是仔细观察,会发现测试用例是写了两组,而自己写的只能测试一组,于是就引出了一个问题——多个测试用例的输入问题。

有问题就改,于是将代码重写成

#include<iostream>
#include "stdio.h"
#include<math.h>
using namespace std;
int main()
{
float a[10],b[10],x[10],y[10];
float dis;
int i=0,j=0;
while(cin>>a[i]>>b[i]>>x[i]>>y[i])//先输入所有用例
{
i++;
}
for(j=0;j<i;j++)//再一个一个计算,输入循环的i用来控制次数
{
dis=sqrt((a[j]-x[j])*(a[j]-x[j])+(b[j]-y[j])*(b[j]-y[j]));
printf("%.2f",dis);
cout<<endl;
}
return 0;
}

  提交,会发现Accept。

从网上找到一个表,觉得不错,转载过来。

Language

C

C++

To read numbers

int n;
while(scanf("%d", &n) != EOF)
{
  ...
}

int n;
while (cin >> n)
{
  ...
}

To read characters

int c;
while ((c = getchar()) != EOF)
{
  ...
}

char c;
while (cin.get(c))
{
  ...
}

To read lines

char line[1024];
while(gets(line))
{
  ...
}

string line;
while (getline(cin, line))
{
  ...
}

[原创]一道基本ACM试题的启示——多个测试用例的输入问题。的更多相关文章

  1. 一道 JavaScript 面试题

    有一道 JavaScript 面试题. f = function () { return true; }; g = function () { return false; }; (function() ...

  2. 一道sql面试题(查询语句)

    一道sql面试题(查询语句)   id name age 1  a        11 2  b        11 3  c        12 4  d        13 5  e        ...

  3. 一道经典面试题-----setTimeout(function(){},0)

    一道经典面试题-----setTimeout(function(){},0) 转载: http://www.w3cfuns.com/notes/17398/e8a1ce8f863e8b5abb5300 ...

  4. 一道Python面试题

    无意间,看到这么一道Python面试题:以下代码将输出什么? def testFun():    temp = [lambda x : i*x for i in range(4)]    return ...

  5. new与属性访问的顺序,从一道JS面试题说起

    这段时间一直在研究设计模式,在看工厂模式的时候,看到一段代码 VehicleFactory.prototype.createVehicle = function ( options ) { if( o ...

  6. 从一道网易面试题浅谈 Tagged Pointer - darcy_tang 的博客

    前言 这篇博客九月就想写了,因为赶项目拖了到现在,抓住17年尾巴写吧~ 正文 上次看了一篇 <从一道网易面试题浅谈OC线程安全> 的博客,主要内容是: 作者去网易面试,面试官出了一道面试题 ...

  7. 一道JS面试题引发的血案

    刚入职新公司,属于公司萌新一枚,一天下午对着屏幕看代码架构时. BI项目组长给我看了一道面试别人的JS面试题. 虽然答对了,但把理由说错了,照样不及格. 话不多说,直接上题: var a = 1; s ...

  8. why哥被阿里一道基础面试题给干懵了,一气之下写出万字长文。

    这是why的第 65 篇原创文章 荒腔走板 大家好,我是 why,欢迎来到我连续周更优质原创文章的第 65 篇.老规矩,先荒腔走板聊聊技术之外的东西. 上面这图是去年的成都马拉松赛道上,摄影师抓拍的我 ...

  9. 关于fork的一道经典面试题

    这是一道面试题,问程序最终输出几个“-”: #include<stdio.h> #include<sys/types.h> #include<unistd.h> i ...

随机推荐

  1. Uoj #274. 【清华集训2016】温暖会指引我们前行 LCT维护边权_动态最小生成树

    Code: 行#include<bits/stdc++.h> #define ll long long #define maxn 1000000 #define inf 100000000 ...

  2. scrapy-redis让redis不止使用db0

    废话不多说,直接在  custom_settings 设置即可 代码: class MySpider(RedisSpider): """Spider that reads ...

  3. 15.5.1【Task实现细节】 生成的代码

    还在吗?我们开始吧.由于深入讲解需上百页的篇幅,因此这里我不会讲得太深.但我会提 供足够的背景知识,以有助于你对整个结构的理解.之后可通过阅读我近些年来撰写的博客文章, 来了解更加错综复杂的细节,或简 ...

  4. Java实验环境搭建

    1.JDK的下载一.JDK的下载及安装 (1).网站网址搜索http://www.oracle.com/technetwork/java,进入浏览页(2)找到Trials and Download 点 ...

  5. javascript实现:在N个字符串中找出最长的公子串

    'use strict' module.exports = function 找出最长公子串 (...strings) { let setsOfSubstrings = [] strings.redu ...

  6. TeX中的引号(Tex Quotes, UVa 272)

    在TeX中,左双引号是“``”,右双引号是“''”.输入一篇包含双引号的文章,你的任务是 把它转换成TeX的格式. 样例输入: "To be or not to be," quot ...

  7. 文件操作(day15)

    调用函数可以使用被调用函数动态分配的 存储区 calloc函数也可以动态分配一组连续的 存储区 这个函数可以把所有动态分配的存储区 内容设置成0 为了使用这个函数也需要包含stdlib.h头文件 这个 ...

  8. 洛谷P1060 开心的金明【dp】

    金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:"你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过NN元钱就行&qu ...

  9. javascript/jquery获取地址栏url参数的方法

    1.jquery获取url window.location.href; 2.通过javascript是如何获取url中的某个参数 function getUrlParam(name) { var re ...

  10. python数据标准化

    def datastandard(): from sklearn import preprocessing import numpy as np x = np.array([ [ 1., -1., 2 ...