sort by modulus of a complex number

描述

复数E包含实部x和虚部y, E=x+yi;E的模为:

输入n(<=1000)和n对(x,y);

按模数升序对复合体进行排序,如果模数相等,则按输入顺序排序。

排序后输出n行of (x_i,y_i,mod_i),保留2个十进制小数。

输入

输入n和n对(x,y);

输出

输出排序后的n行(x,y,mod)。

样例输入
3
2 2
1 1
3 3
样例输出
1.00 1.00 1.41
2.00 2.00 2.83
3.00 3.00 4.24
code1(给struct取小名
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
typedef struct{
    double  x;
    double  y;
    double mo;
    int index;
}Complexnum;
int cmp(const void*a,const void *b){
     const Complexnum *num1=(const Complexnum*)a;
    const Complexnum *num2=(const Complexnum*)b;
    if(num1->mo>num2->mo) return 1;
    if(num1->mo<num2->mo) return -1;
    if(num1->index>num2->index) return 1;
    if(num1->index<num2->index) return -1;
    return 0;
}
int main(){
    int n;
    while(scanf("%d",&n)!=EOF){
        Complexnum *complexnum=(Complexnum *)malloc(n*sizeof(Complexnum));
        for(int i=0;i<n;i++){
            scanf("%lf%lf",&complexnum[i].x,&complexnum[i].y);
            double mo1=sqrt(complexnum[i].x*complexnum[i].x+complexnum[i].y*complexnum[i].y);
            complexnum[i].mo=mo1;
            complexnum[i].index=i;
        }
        qsort(complexnum,n,sizeof(Complexnum),cmp);
        for(int i=0;i<n;i++){
            printf("%.2lf %.2lf %.2lf\n",complexnum[i].x,complexnum[i].y,complexnum[i].mo);
        }
        free(complexnum);
    }
    return 0;
}
code2(不给struct取小名)
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
typedef struct{
    double  x;
    double  y;
    double mo;
    int index;
}Complexnum;
int cmp(const void*a,const void *b){
     const Complexnum *num1=(const Complexnum*)a;
    const Complexnum *num2=(const Complexnum*)b;
    if(num1->mo>num2->mo) return 1;
    if(num1->mo<num2->mo) return -1;
    if(num1->index>num2->index) return 1;
    if(num1->index<num2->index) return -1;
    return 0;
}
int main(){
    int n;
    while(scanf("%d",&n)!=EOF){
        Complexnum *complexnum=(Complexnum *)malloc(n*sizeof(Complexnum));
        for(int i=0;i<n;i++){
            scanf("%lf%lf",&complexnum[i].x,&complexnum[i].y);
            double mo1=sqrt(complexnum[i].x*complexnum[i].x+complexnum[i].y*complexnum[i].y);
            complexnum[i].mo=mo1;
            complexnum[i].index=i;
        }
        qsort(complexnum,n,sizeof(Complexnum),cmp);
        for(int i=0;i<n;i++){
            printf("%.2lf %.2lf %.2lf\n",complexnum[i].x,complexnum[i].y,complexnum[i].mo);
        }
        free(complexnum);
    }
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/220529.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

智能优化算法应用:基于金鹰算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于金鹰算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于金鹰算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.金鹰算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

android开发市场被抢占,鸿蒙能入行吗?

根据最新的数据&#xff0c;华为Mate60系列在上市第二周就成功占据了国内手机市场的17%份额&#xff0c;排名第二。而机构预测&#xff0c;华为手机在第37周有望超过20%的市场份额&#xff0c;成为国内手机市场的冠军。 一开始&#xff0c;人们对HarmonyOSNEXT持保留态度&…

SpringBoot集成mail发送邮件

前言 发送邮件功能&#xff0c;借鉴 刚果商城&#xff0c;根据文档及项目代码实现。整理总结便有了此文&#xff0c;文章有不对的点&#xff0c;请联系博主指出&#xff0c;请多多点赞收藏&#xff0c;您的支持是我最大的动力~ 发送邮件功能主要借助 mail、freemarker以及rocke…

深入浅出之中央空调体系架构及楼宇自控系统

一、关于建筑节能 1、建筑能耗 在中国&#xff0c;建筑能耗占社会总能耗45.5%。来源&#xff1a;《中国建筑能耗研究报告&#xff08;2022&#xff09;》 2、空调、采暖、照明占比最高 建筑节能是指在保证、提高建筑舒适性和生活质量的条件下&#xff0c;在建筑物使用的全过…

深度学习在计算机视觉中的应用

深度学习在计算机视觉中的应用 摘要&#xff1a;本文介绍了深度学习在计算机视觉领域的应用&#xff0c;包括目标检测、图像分类、人脸识别等。通过分析深度学习在计算机视觉中的实际应用案例&#xff0c;阐述了深度学习在计算机视觉中的优势和未来发展趋势。 一、引言 计算…

解决 vite 中 import.meta.globEager is not function 的问题

本人正在重构两年前搭建到一半的博客网站&#xff0c;相关依赖都很陈旧&#xff0c;用到了 npm-check-updates 检测项目可升级依赖&#xff1a; 升级完成后解决完依赖发现控制台报错 import.meta.globEager is not function解决方案&#xff1a; vite版本降至4.3.0 亲测有效&…

酷开科技 | 酷开系统,让家庭娱乐方式焕然一新!

在这个快节奏的社会&#xff0c;家庭娱乐已成为我们日常生活中不可或缺的一部分&#xff0c;为了给家庭带来更多欢笑与感动&#xff0c;酷开科技发力研发出拥有丰富内容和技术的智能电视操作系统——酷开系统&#xff0c;它集合了电影、电视剧、综艺、游戏、音乐等海量内容&…

【微服务 SpringCloudAlibaba】实用篇 · Feign服务远程调用

微服务&#xff08;7&#xff09; 文章目录 微服务&#xff08;7&#xff09;1. Feign替代RestTemplate1&#xff09;引入依赖2&#xff09;添加注解3&#xff09;编写Feign的客户端4&#xff09;测试5&#xff09;总结 2.自定义配置2.1 配置文件方式2.2 Java代码方式 3. Feign…

绘制纹理C++

用数学和C绘制一些纹理 sin(x * x y * y) int main() {int width 400; // 宽度int height 400; // 高度Mat texture Mat::zeros(height, width, CV_8UC1);for (int y 0; y < height; y) {for (int x 0; x < width; x) {int value static_cast<int>(255 * …

分享86个选项卡TABJS特效,总有一款适合您

分享86个选项卡TABJS特效&#xff0c;总有一款适合您 86个选项卡TABJS特效下载链接&#xff1a;https://pan.baidu.com/s/1NBtPP2tT5YQqi6c744tCqg?pwd6666 提取码&#xff1a;6666 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0…

C++进阶篇7---异常

目录 一、异常的介绍 二、异常的使用 1.异常的抛出和捕获 2.异常的重新抛出 3.异常安全 4.异常规范 三、自定义异常体系 四、C标准库的异常体系 一、异常的介绍 异常是一种处理错误的方式&#xff0c;当一个函数发现自己无法处理的错误时就可以抛出异常&#xff0c;让…

初识Linux——基本指令(详解)1

呀哈喽&#xff0c;我是结衣。 在学习数据结构的同时&#xff0c;也不要忘了Linux的学习啊。今天我们开始Linux的教学&#xff0c;在学习之前我们肯定要会搭建Linux的学习环境&#xff0c;在我们的以前的博客里是有讲解的&#xff0c;所以所以这里我们就不在多说&#xff0c;我…

openEuler 22.03 升级openssh9.5

yum安装编译依赖的组件 yum install -y rpm-build gcc gcc-c glibc glibc-devel openssl-devel openssl pcre-devel zlib zlib-devel make wget krb5-devel pam-devel libX11-devel libXt-devel initscripts libXt-devel gtk2-devel lrzsz建立编译目录 mkdir -pv /root/rpm…

【数据结构与算法篇】一文详解数据结构之二叉树

树的介绍及二叉树的C实现 一 . 树的概念二 . 相关术语三 . 树的表示四 . 什么是二叉树1> 二叉树的特性2> 特殊的二叉树3> 二叉树的性质 五 . 二叉树的存储结构1> 二叉树的顺序存储2> 二叉树的链式存储 六 . 堆1> 什么是堆2> 用堆存储数据3> 堆的Cpp代码…

HarmonyOS4.0开发应用——【ArkUI组件使用】

ArkUI组件使用 这里会详细演示以下组件使用: ImageTextTextInputButtonSliderColumn&&RowList自定义组件以及相关函数使用 Image 可以是网络图片、可以是本地图片、也可以是像素图 Image("https://ts1.cn.mm.bing.net/th?idOIP-C.cYA-_PINA-ND9OeBaolDTwHaHa&…

Linux 环境变量

文章目录 环境变量概念查看环境变量设置环境变量代码获取环境变量补充说明 环境变量概念 定义 &#xff1a;环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数。 个人理解&#xff1a;Linux下一切皆文件&#xff0c;在Linux中所用的指…

正则表达式(4):连续次数的匹配

正则表达式&#xff08;4&#xff09;&#xff1a;连续次数的匹配 小结 本博文转载自 在本博客中&#xff0c;”正则表达式”为一系列文章&#xff0c;如果你想要从头学习怎样在Linux中使用正则&#xff0c;可以参考此系列文章&#xff0c;直达链接如下&#xff1a; 在Linux中…

uniapp使用vue-i18n国际化多国语言

前言&#xff1a;uniapp是自带有i18n这个插件的&#xff0c;如果没有npm安装即可 此插件需要自己去给每一个需要国际化的字符去手动配置key&#xff0c;所以如果是已经完成的项目可能工作量就稍微有点大了 第一步&#xff1a; 语言命名是有规范的不能乱取名&#xff0c;具体可…

TCP首部格式_基本知识

TCP首部格式 表格索引: 源端口目的端口 序号 确认号 数据偏移保留 ACK等 窗口检验和紧急指针 TCP报文段首部格式图 源端口与目的端口: 各占16位 序号:占32比特&#xff0c;取值范围0~232-1。当序号增加到最后一个时&#xff0c;下一个序号又回到0。用来指出本TCP报文段数据载…

Linux下如何运行.sh文件

运行环境为ubuntu20.04 如在/home/zoe/map运行.sh文件&#xff1a; 进入到/home/zoe文件夹下&#xff1a; cd /home/zoe/map 第一种运行方式&#xff1a; sh play.sh 结果&#xff1a; 第二种方式&#xff1a; 使用chmod修改文件的执行权限&#xff0c;然后运行 chmod x …