平面点排序(一)(结构体专题)

1183: 平面点排序(一)(结构体专题)

Time Limit: 1 Sec  Memory Limit: 128 MB

Submit: 803  Solved: 555

SubmitStatusWeb
Board

Description

平面上有n个点,坐标均为整数。请按与坐标原点(0,0)距离的远近将所有点排序输出。可以自己写排序函数,也可以用qsort库函数排序。

Input

输入有两行,第一行是整数n(1<=n<=10),接下来有n行,每行一对整数(每对整数对应一个点)。

Output

输出排序后的所有点,格式为(u,v),每个点后有一个空格。测试数据保证每个点到原点的距离都不同。

Sample Input

41 3 2 5 1 4 4 2

Sample Output

(1,3) (1,4) (4,2) (2,5)

HINT

Source

练习。。

#include<iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;
struct point
{
    int x;
    int y;
    int jlp;
};
int cmp(point a,point b)
{
    return a.jlp<b.jlp;//升序
}
int main()
{
    int n,i;
    point a[10];
    while(scanf("%d",&n)!=EOF)
    {
       for(i=0;i<n;i++)
       {
           cin>>a[i].x>>a[i].y;
           a[i].jlp=a[i].x*a[i].x+a[i].y*a[i].y;
       }
       sort(a,a+n,cmp);
       for(i=0;i<n;i++)
       {
           cout<<"("<<a[i].x<<","<<a[i].y<<")"<<" ";
       }
    }
    return 0;
}
时间: 2024-11-10 18:10:27

平面点排序(一)(结构体专题)的相关文章

HDU 1862 EXCEL排序(结构体排序)

EXCEL排序 Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 16387    Accepted Submission(s): 6137 Problem Description Excel可以对一组纪录按任意指定列排序.现请你编写程序实现类似功能. Input 测试输入包含若干测试用例.每个测试用例的第1行包含两个整数 N (<=1

关于动态排序、结构体的使用

题目: 一.项目需求: 创建一对文件Teacher.h  Teacher.m.1分 在Teacher.h中,定义一个Teacher结构体,成员变量包括:姓名.性别.年龄.员工编号.评分.2分 声明一个打印Teacher的函数,void  printTeacher(Teacher *  teacher).1分 实现部分 4分 定义一个函数指针类型,typedef  BOOL(*CompareFunctionPointer)(Teacher teacher1, Teacher  teacher2);

go语言的排序、结构体排序

原文:https://studygolang.com/articles/1598 晚上准备动手写点 go 的程序的时候,想起 go 如何排序的问题.排序 sort 是个基本的操作,当然搜索 search 也是.c 提供一个 qsort 和 bsearch,一个快排一个二分查找,不过是使用起来都不方便: c++ 中的 sort 貌似很不错,因为 c++ 支持泛型(或是说模板),所以很多东西使用起来很方便.go 是通过 sort 包提供排序和搜索,因为 go 暂时不支持泛型(将来也不好说支不支持),

结构体专题

===定义结构体的两种方法:========================================= 第一种: struct 结构体名{成员列表}变量名列表: 第二种://省略了结构体名,直接定义结构体变量 struct{成员列表}变量名列表: ===举例:=========================================== 第一种定义方法 (1)声明结构体类型 struct 高三班级 { 语文课代表 数学课代表 -- 历史课代表 } (2)定义结构体变量 struc

空结构体 — 专题

Introduction 空结构体是没有位段的结构体,以下是空结构体的一些例子: type Q struct{} var q struct{} 但是如果一个结构体没有位段,不包含任何数据,那么他的用处是什么?我们能够利用空结构体完成什么任务? Width 在深入研究空结构体之前,我想先简短的介绍一下关于结构体宽度的知识. 宽度描述了存储一个数据类型实例需要占用的字节数,由于进程的内存空间是一维的,我更倾向于将宽度理解为Size(这个词实在不知道怎么翻译了,请谅解). 宽度是数据类型的一个属性.G

E - 稳定排序(结构体)

大家都知道,快速排序是不稳定的排序方法. 如果对于数组中出现的任意a[i],a[j](i<j),其中a[i]==a[j],在进行排序以后a[i]一定出现在a[j]之前,则认为该排序是稳定的. 某高校招生办得到一份成绩列表,上面记录了考生名字和考生成绩.并且对其使用了某排序算法按成绩进行递减排序.现在请你判断一下该排序算法是否正确,如果正确的话,则判断该排序算法是否为稳定的. Input本题目包含多组输入,请处理到文件结束. 对于每组数据,第一行有一个正整数N(0<N<300),代表成绩列

NyistOJ 8 一种排序(c++)(结构体排序)

注意题给条件: 第二个和第三个数值大的表示长,数值小的表示宽,相等说明这是一个正方形(数据约定长宽与编号都小于10000) 此后注意去重就好啦 #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <map> #define ll long long using namespace std ; typedef struct{ i

使用C++/C qsort 标准库对结构体进行快速排序

C++标准快速排序库qsort进行结构体快速排序 代码如下 1 #include <stdio.h> 2 #include <stdlib.h> 3 typedef struct 4 { 5 int date; 6 int value; 7 }X_S; 8 9 /* a->z */ 10 int cmpfunA2Z(const void * a, const void * b) 11 { 12 X_S * p1 = (X_S *)a; 13 X_S * p2 = (X_S *

结构体指针排序

输入不超过30名学生的信息,包括姓名,单科分数,出生年月,对其排序后输出. 运用知识点:结构体.指针.排序.函数. 1 #include<stdio.h> 2 #include<string.h> 3 4 struct birth 5 { 6 int y; 7 int m; 8 int d; 9 }; 10 struct student 11 { 12 int num; 13 char name[20]; 14 double score; 15 struct birth birth