即将完成的代码

#include<iostream>
#include<cmath>
#include<iomanip>
#include<algorithm>
using namespace::std;
typedef     struct {double xx,yy,zz;}poi;
void swap(int *x, int *y)
{
     int temp;
  temp=*x;
  *x=*y;
  *y=temp;
}

void mpao(poi*a,double n)
{
    int i,j;
    for(i=0;i<n-1;i++)
    {
        for(j=i+1;j>0&&a[j].zz>a[j-1].zz;j--)
          swap(a[j],a[j-1]);
    }
    
}
int qw=0;
double jia(poi q,poi w)
{
    return sqrt((q.xx-w.xx)*(q.xx-w.xx)+(q.yy-w.yy)*(q.yy-w.yy)+(q.zz-w.zz)*(q.zz-w.zz));
}
main()
{
    poi a[100];
    int n,k,i;
    int t;
    cin>>n;
    t=n*(n+1)/2;
    for(i=0;i<n;i++)
    {
        cin>>a[i].xx>>a[i].yy>>a[i].zz;
    }
    double b[t];
    poi w[t];
     for(i=0;i<n;i++)
       for(k=i+1;k<n;k++)
       {
         b[qw]=jia(a[i],a[k]);
         w[qw].zz=b[qw];
         w[qw].xx=i;
         w[qw].yy=k;
         qw++;
       }
       sort(b,b+qw);
       mpao(w,qw);
    for(i=qw-1;i>=0;i--) cout<<"{"<<(int)a[(int)w[i].xx].xx<<","<<(int)a[(int)w[i].xx].yy<<","<<(int)a[(int)w[i].xx].zz<<"}"
    <<"-"<<"{"<<(int)a[(int)w[i].yy].xx<<","<<(int)a[(int)w[i].yy].yy<<","<<(int)a[(int)w[i].yy].zz<<"}"<<"="
    <<fixed<<setprecision(2)<<b[i]<<endl;
    return 0;
}

时间: 2024-10-07 06:10:13

即将完成的代码的相关文章

《重构—改善既有代码的设计》笔记

为什么要重构 改进软件设计,消除重复代码 保持代码易读.易修改 提高编程速度(良好设计师维持软件开发速度的根本) 发现BUG 什么时候重构 事不过三,三则重构(三次法则) 添加功能时一并重构 修改错误时一并重构 复审代码时一并重构 问题代码 重复的代码 过长函数 过大类 过长参数列表 发散式变化 霰弹式修改 依恋情节 数据泥团 基本型别偏执 switch惊悚现身 冗赘类 夸夸其谈未来性 令人迷惑的暂时值域 过度耦合的消息链 中间转手人 狎昵关系 异曲同工的类 不完美的程序库类 纯稚的数据类 被拒

代码走读

本文转载自:http://blog.csdn.net/marchbirdcode/article/details/4801978 如需看原文,请看上面的链接. 从种种渠道可以知道,Google的代码之所以优秀,原因很简单,他们非常重视代码审查.这个方法不是Google独有的,它被公认是一个提高代码质量的手段.在Google,任何产品或者项目代码在捡入仓库之前,都需要进行有效的审查. 每个人,如果有意愿的话,都要参加代码审查,它是软件开发环节中非常重要而且通用的规则.审查代码,不需要投入很多精力,

《重构-改善既有代码的设计》读书笔记

重构,第一个案例 1.1 起点 如果发现现有的代码结构使你无法很方便地添加新特性,那就先重构,使特性的添加比较容易进行后,再添加特性; 1.2 重构的第一步 为即将修改的代码建立可靠的测试环境 – 是人就会犯错,所以需要可靠的测试; 测试结果能够自我检验 – 成功"OK",失败列出失败清单并打印行号 (自动化对比测试结果是提高效率的前提); 1.3 分解并重组"巨型"函数 切分提炼长函数(Extract Method),并移至更合适的类(Move Method) –

如何处理前任程序员留下的代码

作为软件工程师不可避免会遇到的一个场景是:我们在改变或添加一个功能到不是我们创建的.我们不熟悉的.与我们负责的系统部分无关的代码中时,会遇到麻烦.虽然这可能会是一个繁琐而艰巨的任务,但是由于使用其他开发人员编写的代码有很大的灵活性,所以我们可以从中得到大大的好处,包括增加我们的影响范围,修复软件腐烂以及学习我们以前不了解的系统部分(更何况,还可以学习其他程序员的技术和技巧). 考虑到使用其他开发人员编写的代码既有其厌烦之处,又有其优势所在,所以我们必须小心不要犯一些严重的错误: 我们的自我意识:

既然最后一个人不在乎这代码,我为什么要在乎?

作为软件工程师不可避免会遇到的一个场景是:我们在改变或添加一个功能到不是我们创建的.我们不熟悉的.与我们负责的系统部分无关的代码中时,会遇到麻烦.虽然这可能会是一个繁琐而艰巨的任务,但是由于使用其他开发人员编写的代码有很大的灵活性,所以我们可以从中得到大大的好处,包括增加我们的影响范围,修复软件腐烂以及学习我们以前不了解的系统部分(更何况,还可以学习其他程序员的技术和技巧). 考虑到使用其他开发人员编写的代码既有其厌烦之处,又有其优势所在,所以我们必须小心不要犯一些严重的错误: 我们的自我意识:

[翻译]为什么sys.setdefaultencoding()会破坏代码

注:本文2016-12-28发布于个人搭建博客,现在将内容迁移过来,会有些许表述改动,未经同意,请勿转载. 原文Why sys.setdefaultencoding() will break code 我知道更聪明.更有经验的Python程序员之前已经向python-dev提了相关问题,但每次当我需要向别人引用其中一个时,我发现很难找得到.今天当我在Google上搜索这个问题时,发现最相关的条目是我自己在2011年发给yum-devel的一个帖子.我知道以后我肯定有必要向别人证明不应该使用set

git服务器gitlab之搭建和使用

git服务器比较有名的是gitosis和gitolite,这两个管理和使用起来稍微有些复杂,没有web页面,而gitlab则是类似于github的一个工具,github无法免费建立私有仓库,并且为了代码安全,于是在内网安装了一个自己实验室的一个git服务器,多方比较,选择了gitlab,gitlab有很多依赖,而bitnami制作了一键安装的包,下载链接:https://bitnami.com/redirect/to/37478/bitnami-gitlab-7.0.0-0-linux-inst

(25)c# windows服务

转自 http://www.cnblogs.com/knowledgesea/p/3616127.html Windows服务介绍 Microsoft Windows 服务能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序.这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面.这使服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用.还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文

职业程序员的知识体系

今天看到一篇文章,说人的知识分成两种,惰性知识和活性知识.那些对我们的工作,生活没有帮助的知识,称为惰性知识.惰性知识是用来装门面的,吹牛的.他不能解决我们的问题,只是填补我们生活的空虚.比如金鱼的记忆有几秒,就属于这种惰性知识.不过根据我最近的经验,我发现每天早上,当鱼儿们看见我拿起装鱼食的瓶子时,都很激动.这显然不是几秒记忆所能办到的. 为什么会有惰性知识呢?当一个知识不能与我们已有的知识体系建立关联,那么当我们遇到问题时,我们不会想到他,用到他,于是他就成了惰性知识.就好像你是一个将军,手