首页 > 题库 > 程序员

【说明】在某单位举办的排球赛中,共有N(1<N≤10)支球队进行了单循环比赛,最后进行排名。比赛采用五局三胜制,胜三局的队算胜一场,最终排名按照以下规则确定:(1)首先按照获胜场数降序排列,胜场多者排名在前。(2)胜场数相同时,积分多者排名在前。计算积分规则如下:比赛结果为 3:0 或3:1时,胜队积 3 分,负队积 0 分;比赛结果为 3:2 时,胜队积 2 分,负队积 1分。(3)胜场数和积分相同时,并列名次。为简化起见,按照队名的字典序显示排名。以4个队为例,用矩阵形式给出4支名称分别为Nike、Paddy、Ackerma和Martin的赛队之间的比赛结果,3:2、3:1和3:0的比分分别用正整数5、4、3表示,对应地,2:3、1:3和0:3的比分分别用负整数-5、-4和-3表示,如表1所示。因为Nike与Paddy队的比赛结果为3:2,所以在表1的第1行第2列用5表示,对应地,在第2行第1列用-5表示Paddy与Nike的比赛结果为2:3。同理,因为Nike与Ackerma队的比赛结果为1:3,所以在表1的第1行第3列用-4表示,对应地,在第3行第1列用4表示Ackerma与Nike队的比赛结果为3:1,其余类推。下面程序根据比赛结果,按照上述规则计算并输出最终排名。程序运行时,首先输入队伍数和各队的队名,然后输入这些队伍的比赛结果矩阵(格式如表1所示)。示例如下:对于以上示例输入,程序输出的最终排名(格式为队名、胜场数、积分)如下:

查看试题

阅读下列说明和C++代码,填写代码中的空缺,将解答写入答题纸的对应栏内。【说明】某系统需根据类别和内容对数据以文件夹的方式进行组织,数据自身以文件的形式存储,文件夹可以包含文件夹和文件。为该系统设计的相关类及其关系如图6-1所示。【C++代码】#include <list>#include <iostream>#include <string>using namespace std;class Node {protected :       string name ;         //文件或文件夹名称public :       void printName ( ) {cout <<name << endl; }  //打印文件或文件夹名称       virtual void add (Node *file)=0;         //为一个文件夹增加子文件夹或文件       virtual void remove (Node *file)=0;   //删除一个文件夹的子文件夹或文件       virtual list<Node*> *getChildren ( )=0;//获得一个文件夹的子文件夹或文件};class File(1)Node {public :        File(string name) {(2)= name; }        void add (Node *file) { return ; }        void remove (Node *file){ return ; }        list<Node*> *getChildren ( ) { return (3); }};class Folder(4)Node {private :        list <Node*> children;      //存储子文件夹或文件public :        Folder (string name) {            this->name = name;        }        void add (Node *file) { children.push_back (file);  }        void remove (Node *file) { children.remove (file) ; }        list<Node*> *getchildren (){ return(5); }};class Client  {   //  构造一个树形文件夹和文件结构public:       void creatTree ( ) {            Node *root = new Folder ( "D:/ " ) ;            Node *folder = new Folder ( "parent" ) ;            Node *child = new Folder ( "cxy" );            Node * file = new File ( "TestFile.cpp" ) ;            root->add ( folder) ;            folder->add ( child) ;            child->add (file) ;            traverse ( root) ;        }void traverse (Node *node)  {   //遍历树形结构        node->printName ( );        list<Node*>* children = (6);        if(children == NULL) return;        list<Node*> : :iterator it;        for (it=children->begin ( ) ; it !=children->end ( ) ; it++) {              traverse ( *it);        }    }};int main ( ) {    Client *client = new Client ( ) ;    client->creatTree ( ) ;

查看试题

阅读以下说明和Java代码,填写代码中的空缺,将解答写入答题纸的对应栏内。【说明】某系统需根据类别和内容对数据以文件夹的方式进行组织,数据自身以文件的形式存储,文件夹可以包含文件夹和文件。为该系统设计的相关类及其关系如图5-1所示。【Java代码】import java.util.ArrayList;import java.util.List;abstract class Node {    protected string name; l/文件或文件夹名称    public void printName ( ) { System.out.println (name) ; }    public abstract boolean add (Node node);                    //为一个文件夹增加子文件夹或文件    public abstract boolean remove(Node node);              //删除一个文件夹的子文件夹或文件    public abstract List<Node> getchildren( );                   //获得一个文件夹的子文件夹或文件}class File(1)Node {    public File (string name) { (2) = name; }    public boolean add (Node node) { return false; }    public boolean remove (Node node){ return false; }    public List<Node> getChildren () { return(3); }}class Folder (4) Node {    private List <Node> children;    public Folder (string name) {        this.name = name;        this.children = new ArrayList<Node> ( ) ;}    public boolean add (Node node){ return children.add (node); }    public boolean remove (Node node) { return children.remove (node);}    public List<Node>getChildren () { return(5);}public class client {    private void traverse (Node node) {        node. printName ( );        List <Node> children =(6);        if(children == null) return ;        for (Node child : children) {            traverse (child) ;        }    }    public void createTree ( )  {          //构造一个树形文件夹和文件结构        Node root = new Folder ( "D:/ ") ;        Node folder = new Folder ( "parent" ) ;        Node child = new Folder ( "cxy" ) ;        Node file = new File ( "TestFile.java" ) ;        root.add ( folder) ;        folder.add ( child) ;        child.add (file) ;        traverse (root) ;                    //遍历目录文件树    }    public static void main (string [ ] args){        Client client = new Client () ;        client.createTree () ;    }}

查看试题

阅读以下说明和C代码,填补C代码中的空缺,将解答写在答题纸的对应栏内。【说明】一元二次方程ax2+ bx+c=0 (a ≠0)的求根公式如下:设△=b2-4ac,若△大于0,则方程有两个不相等的实数根;若△等于0,则方程有两个相等的实根(即只有一个实根);若△小于0,则方程有两个不相等的复数根,为下面的C代码根据输入的系数a,b,c求解方程的根,结果保留两位小数,并按照以下要求输出结果:(1)若方程有两个不相等的实数根,则分两行输出这两个实数根;(2)若方程只有一个实数根,则输出此根;(3)若方程有两个不相等的复数根,则按照格式“实部+虚部i”每行输出一个复数根;(4)若系数都为0,则输出“Zero Equation.";(5)若系数a、b为0而c不为0,则输出“Not An Equation.”.。【C代码】#include <stdio.h>#include <math.h>#define eps 0.000006void solve (double a, double b,double c) ;int isZero (double x);int main () {            double a, b, c;            scanf("%lf%lf%lf", &a, &b, &c);            solve (a, b,c);            return 0;}int iszero (double x){   return ( (x==0)|| (fabs (x)<eps) ) ;void solve (double a, double b, double c) {             double delta = b*b-4*a*c ;   if(iszero(a) ) {      if(iszero(b)){          if (isZero(c)) { printf ( "Zero Equation.\n " ) ;return;   }             else{printf ( "Not An Equation. \n" ) ; return;  }   }   else{ printf("%.2f \n", (1)); return; }}  else{    double d = sqrt (fabs (delta) ) ;            if((2)){              double rl =(-b+d)/ ( 2*a), r2 =(-b-d)/ (2*a) ;              printf ("%.2f\n%.2f\n", r1, r2) ; return;        }        else {        if ((3)){               double real part =(4);               double img part =(5);               printf ("%.2f+%.2fi \n",real_part, img_part);               printf("%.2f-%.2fi", real_part, img_part); return;      }      else {              printf ( "%.2f",(6));      }    }  }}

查看试题

暂未登录

成为学员

学员用户尊享特权

老师批改作业做题助教答疑 学员专用题库高频考点梳理

本模块为学员专用
学员专享优势
老师批改作业 做题助教答疑
学员专用题库 高频考点梳理
成为学员