计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机软件水平考试
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
程序员(初级)
信息系统项目管理师(高级)
系统分析师(高级)
系统架构设计师(高级)
网络规划设计师(高级)
系统规划与管理师(高级)
软件评测师(中级)
软件设计师(中级)
网络工程师(中级)
多媒体应用设计师(中级)
嵌入式系统设计师(中级)
电子商务设计师(中级)
系统集成项目管理工程师(中级)
信息系统监理师(中级)
信息安全工程师(中级)
数据库系统工程师(中级)
信息系统管理工程师(中级)
软件过程能力评估师(中级)
计算机辅助设计师(中级)
计算机硬件工程师(中级)
信息技术支持工程师(中级)
程序员(初级)
网络管理员(初级)
信息处理技术员(初级)
电子商务技术员(初级)
信息系统运行管理员(初级)
网页制作员(初级)
多媒体应用制作技术员(初级)
PMP项目管理员资格认证
填空题[说明]已知对某载客车辆(Car)进行类建模,如图12-2所示,其中类Engine表示发动机引擎,类Wheel表示车轮,类Body表示车身,类Driver表示司机,类Passenger表示乘客。constint(1)=7;//定义最多载客数constintMAX_WHEELS=5;//定义最多轮胎数classBody//此处代码省略);//车身类classPassenger//此处代码省略;//乘客类ClassWheel//此处代码省略;//车轮类ClassDriver//司机类public:stringname;//表示第几路公交车司机Driver(stringdriverName):marne((2));//构造函数;classEngine//引擎类public:stringengineNo;//引擎编号Engine(stringengineNo)(3)->engineNo=engineNo;//构造函数;ClassCar//汽车类protected:Engine*engine;Driver*driver;Bodybody;Wheel*wheels[MAX_WHEELS];Passenger*passengers[MAX_PASSENGERS];public:Car(Driver*driver)(//构造函数this->driver=driver;engine=newEngine("TX6536型号引擎");for(intindex=0;index<MAX_WHEELS;index++)wheels[index]=newWheel();for(intindex=0;indexpassengers[index]=NULL;virtual-Car()//析构函数for(intindex=0;index<MAX_WHEELS;index++)deletewheels[index];delete(4);intgetPassengerNumber()//获取车上乘客数量//此处代码省略voidgetonpassenger(Passenger*apassenger)//乘客上车//此处代码省略voidrun()//开车if(driver==NULL)cout<<"司机尚未上车!";return;//此处代码省略;voidmain()Driverdriver("第五路公交车司机");Carcar((5));Passengerpassengers[MAX_PASSENGERS];for(intindex=0;index<MAX_PASSENGERS;index++)//乘客上车处理car.getOnPasSenger(car.run();
进入题库练习
填空题【函数1.1说明】 函数strcpy(char * destination,char * source)将字符串source复制到字符串destination。 【函数1.1】 void strcpy (char * destination,char*source) {while _______ ;}
进入题库练习
填空题【说明】 下面的Java程序演示了如何在用户等待载入主程序时显示logo图片的例子。logo图片mylogo.gif存放在文件夹image下面。显示logo图片的是一个线程类logo。 【Java程序】 import javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.swing.ImageIcon.*; import java.lang.Runnable; public class mainFrame extends JFrame { public static void main(String[] args) { Logo lg=new Logo("image/mylogo.gif"); lg. 1 ; mainFrame main_framE = new mainFrame(); main_frame.setTitle("使用logo图片示例程序”); Thread.sleep 1 ;//程序暂时挂起 main_frame.setVisible(true); lg. 2 ;//使logo图片不可见 } } class Logo extends JWindow implements 3 { String filename;//Logo图像文件的文件名 public Logo(Stringname){ filename = name; } public void run() { ImageIcon ig = new ImageIcon(filename); JButton btn = new JButton(ig); //将图片给JButton显示 getContentPane(). 4 ; //将按钮加到JPanel里 Toolkit kit = Toolkit.getDefauhToolkit(); Dimension screenSize = kit.getScreenSize(); //获得屏幕的大小 setLocation(screenSize.width/4,screenSize.height/4); //将Logo窗口显示在屏幕宽的1/4,高的1/4处 setSize(ig. getIconWidth(),ig. getIconHeight()); //将Logo窗口大小设成图像的大小 toFront(); //将Logo窗口显示为最前面的窗口 setVisible(true) 5 ; //显示该窗口 } public void setNOtVisible() { setVisible(false); } }
进入题库练习
填空题[说明] 用输入/输出写一个程序,让用户输入一些姓名和电话号码。每一个姓名和号码将加在文件里。用户通过点“Done”按钮来告诉系统整个列表已输入完毕。 如果用户输入完整的列表,程序将创建一个输出文件并显示或打印出来。格式如:555,1212,Tom 123-456-7890,Peggy L.234-5678,Marc 234-5678,Ron 876-4321,Beth byte [] name=new byte [lineLength]; int i; try { fos= new FileOutputStream ("phone. numbers"); } catch (FileNotFoundException e) while (true) { ________ ("Enter a name (enter "done" to quit)"); ________ (name); if ("done". equalsIgnoteCase (new String (name,0,0,4))) { break; } System.err.println ("Enter the phone number"); readLine (phone); for (int i=0;phone [i]!=0;i++) { ________ ; } fos.write (","); for (int i=0 ________ ;i++) { fos. write (name [i]); } fos. write ("/n"); } fos. close(); } private static void readLine (byte line []) throws IOException { int i=0,b=0; while ((i< ________ ) } line[i]= ( byte ) 0; } }
进入题库练习
填空题写出下面消息对应的方法编号(如果该消息错误或者没有对应的方法调用,请填写“无”)。
进入题库练习
填空题[说明]著名的菲波那契数列定义式为:f1=1,f2=1,fn=fn-1+fn-2(n=3,4,…)因此,从第1项开始的该数列为1,1,2,3,5,8,13,21,…。函数fib1和fib2分别用递归方式和迭代方式求解菲波那契数列的第n项(调用fib1、fib2时可确保参数n获得一个正整数1。[C函数代码]
进入题库练习
填空题写出下面消息对应的方法编号(如果该消息错误或者没有对应的方法调用,请填写“无”)。
进入题库练习
填空题1说明】 函数create能够建立具有任意行和任意列的动态二维整数数组。 【函数4.1程序】 #include“stdio.h” int * * create(int row, int col ) { int * * x,i; x=(int * *) 1 ; for( 2 ) x[i]=(int *)malloc(col * sizeof(int)); 3 ; } 【函数4.2说明】 函数main()能够判断输入年是否为闰年。 【函数4.2程序】 main() {int year,n; scanf(“input year %d”,&year); n=( 4 || 5 ); if(n==1)printf(“%d is a leap year/n”,year); else printf(“%d is not a leap year/n”,year); }
进入题库练习
填空题【说明】 有一种猜数字游戏,开始时程序随机产生四个不相同的个位数字(顺序固定),然后玩家输入猜测的四个数字。程序比较后给出提示,本次猜数字有几个数字完全正确,有几个数字数值正确但是位置错误。玩家重复猜测直至结果完全正确。例如,程序生成“1234”,玩家猜测“1630”,则提示"位置正确的有:“1”个,位置错误的有:“1”个,完全错误的有“2”个。 下面的两个Java函数是猜数字游戏里面使用的两个函数,第一个用于产生四个不相同的数字。第二个函数先判断输入是否合法,若合法则进行比较,并给出提示。 【Java程序】 ……………… private String randNum()//产生答案数字 { int[] digits={0,1,2,3,4,5,6,7,8,9}; Random mum=new Random((new Date()).getTime()); for(int i=0;i<10;i++) { int p=Math.abs(rnum.nextInt())%10; int tmp=digits[p];//tmp是临时存储数字的变量 1 ; digits[i]=tmp; } return Integer.toString(digits[0])+Integer.toString(digits[1]) +Integer.toString(digits[2])+Integer.toString(digits[3]); } String checkAnswer(String guess,Stdng answer) { if guess.length()!=4)return "要输入4个数字!"; int num=0; try{ num= 2 ;} //判断输入是否是数字 catch(NumberFormatException ex) {return "要输入数字!";}//catch int[]timesDigit={0,0,0,0,0,0,0,0,0,0}; for(int i=0;i<4;i++){ int ptr=num%10; num=num/10; if 3 //输入数字有重复 return "数字有重复!"; }//for int a=0; int b=0; for(int j=0;j<4;j++) { int pos=answer.indexOf(guess.substring(j,j+1)); if 4 //当前数字完全正确 a++; else if(pos>=0) b++; } if 5 //答案完全正确 return "恭喜!答对了!!"; else{ textAreaContent+= "位置正确的有:"+a+"个,位置错误的有:"+b+" 个,完全错误的有"+(4-a-b)+"个/n"; return "继续努力"; } } ………………
进入题库练习
填空题[说明]已知对某载客车辆(Car)进行类建模,如图13-2所示,其中类Engine表示发动机引擎,类Wheel表示车轮,类Body表示车身,类Driver表示司机,类Passenger表示乘客。[Java代码]classBody//此处代码省略;//车身类classPassenger//此处代码省略;//乘客类classWheel//此处代码省略;//车轮类classDriver//司机类publicStringname;//表示第几路公交车司机publicDriver(StringdriverName)name=driverName;//构造函数;classEngine//引擎类publicStringengineNo;//引擎编号publicEngine(StringengineNo)this.engineNo=engineNo;//构造函数;publicclassCar//汽车类staticfinalint(1)=7;//定义最多载客数staticfinalintMAX_WHEELS=5;//定义最多轮胎数protectedEngineengine;protectedDriverdriver;protectedBodybody=newBody();protectedWheel[]wheels;protectedPassenger[]passengers;publicCar(Driverdriver)//构造函数(2).driver=driver;engine=newEngine("TX6536型号引擎");wheels=newWheel[MAX_WHEELS];passengers=newPassenger[MAX_PASSENGERS];for(intindex=0;index<MAX_WHEELS;index++)wheels[index]=newWheel();for(intindex=0;index<MAX_PASSENGERS;index++)passengers[index]=null;intgetPassengerNumber()//获取车上乘客数量//此处代码省略voidgetOnPassenger(PassengeraPassenger)//乘客上车//此处代码省略voidrun()//开车if((3))(System.out.printin("司机尚未上车!");return;//此处代码省略publicstaticvoidmain(Stringargs[])Driverdriver=newDriver("第五路公交车司机");Carcar=newCar((4));for(intindex=0;index<MAX_PASSENGERS;index++)car.getOnPassenger((5)Passenger());car.run();
进入题库练习
填空题阅读以下说明和Java程序,填充程序中的空缺,将解答填入对应栏内。[说明]下面的程序用来计算并寻找平面坐标系中给定点中最近的点对(若存在多对,则输出其中的一对即可)。程序运行时,先输入点的个数和一组互异的点的坐标,通过计算每对点之间的距离,从而确定出距离最近的点对。例如,在图所示的8个点中,点(1,1)与(2,0.5)是间距最近的点对。[Java代码]importJava.util.Scanner;classGPointprivatedoubiex,y;publicvoidSetX(aoublex)this.x=x;publicvoidsetY(doubley)this.y=y;publicdoublegetX()returnthis.x;publicdoublegetY()returnthis.y;classFindNearestPointspublicstaticvoidmain(String[]rgs)Scannerinput=newScanner(System.in);System.out.print("输入点的个数:");intnumberOfPoints=input.nextint();______points=newGPoint[numberOfPoints];//创建保存点坐标的数组System.out.print("请输入"+numberofPoints+"个点的坐标");for(inti=0;i<points.length;i++)points[i]=______;points[i].setX(input.nextDouble());points[i].setY(input.nextDouble());FindNearestPointsfnp=newFindNearestPoints();intp1=0,p2=1;//p1和p2用于表示距离最近的点对在数组中的下标doubleshortestDistance=fnp.getDistance(points[p1],points[p2]);//计算每一对点之间的距离for(inti=0;i<points.length;i++)for(intj=1+1;j<______;j++)doubletmpDistance=fnp.______;//计算两点间的距离if(______)p1=i;p2=j;shortestDistance=tmpDistance;System.out.println("距离最近的点对是("+points[p1].getX()+","+points[p1].getY()+")和("+points[p2].getX()+","+points[p2].getY()+")");publicdoublegetDistance(GPointpt1,GPointpt2)retumMath.sqrt((pt2.getX()-pt1.getX())*(pt2.getX()-ptllgetX())+(pt2.getY()-pt1.getY())*(pt2.getY()-pt1.getY());
进入题库练习
填空题阅读以下说明和C函数,填充函数中的空缺。 [说明] 函数GetDateId(DATE date)的功能是计算并返回指定合法日期date是其所在年份的第几天。例如,date表示2008年1月25曰时,函数的返回值为25,date表示2008年3月3日时,函数返回值为63。 函数Kday_Date(int theyear,int k)的功能是计算并返回指定合法年份theyear(theyear≥1900)的第天(1≤k≤365)所对应的日期。例如,2008年的第60天是2008年2月29日,2009年的第60天是2009年3月1日。 函数isLeapYear(int y)的功能是判断y代表的年份是否为闰年,是则返回1,否则返回0。 DATE类型定义如下: typedef struct int year,month,day; DATE; [C函数1] int GetDateId(DATE date) Const int days_month[13]=(0,31,28,31,30,31,30,31,31,30,31,30,31); int i,date_id=date.day; for(i=0;i<______;i++) date_id+=days_month[i]; if(______&&isLeapYear(date.year))date_id++; return date_id; [C函数2] ______Kday_Date(int theyear,int k) int i; DATE date; int days_month[13]=(0,31,28,31,30,31,30,31,31,30,31,30,31); assert(k>=1&&k<=365&&theyear>=1900); /*不满足断言时程序终止*/ date.year=______; if(isLeapYear(date.year))days_month[2]++; for(i=1;;) k=k-davs_month[i++]; if(k<=0)(date.day=k+______;date.month=i-1;break; return date;
进入题库练习
填空题阅读以下说明和C函数代码,回答问题。[说明]著名的菲波那契数列定义式为:f1=1,f2=1,fn=fn-1+fn-2(n=3,4,…)因此,从第1项开始的该数列为1,1,2,3,5,8,13,21,…。函数fib1和fib2分别用递归方式和迭代方式求解菲波那契数列的第n项(调用fib1、fib2时可确保参数n获得一个正整数1。[C函数代码]
进入题库练习
填空题阅读以下说明和C程序,填补空缺。 [说明] 下面的程序按照以下规则输出给定名词的复数形式。 (1)若名词以“y”结尾,则删除y并添加“ies”。 (2)若名词以“s”、“ch”或“sh”结尾,则添加“es”。 (3)其他所有情况,直接添加“s”。 [C程序] #include<stdio.h> #include<string.h> char *plural(char *word) { int n; char *pstr; n=strlen(word); /*求给定单词的长度*/ pstr=(char*)malloc(n+3); /*申请给定单词的复数形式存储空间*/ if(!pstr || n<2) return NULL; strcpy(pstr, word); /*复制给定单词*/ if({{U}} (1) {{/U}}) { pstr[n-1]='i'; pstr[n]='e'; pstr[n+1]='s'; {{U}}(2) {{/U}}; } else if(pstr[n-1]=='s'||pstr[n-1]=='h' pstr[n+1]='s'; pstr[n+2]='/0'; } else {pstr[n]='s'; pstr[n+1]='/0'; } {{U}} (4) {{/U}}; } main( ) { int i; char *ps; char wc[9][10]= {"chair", "dairy", "boss", "circus", "fly", "dog", "church", "clue", "dish"); for(i=0; i<9; i++) { ps={{U}} (5) {{/U}}; printf("%s: %s/n", wc[i], ps); /*输出单词及其复数形式*/ free(ps); /*释放空间*/ } system("pause"); }
进入题库练习
填空题{{B}}试题三{{/B}}阅读以下说明和C函数,回答问题。 [说明] 计算机在处理算术表达式时,首先将其转换为后缀表达式。例如,表达式“46+5*(120-37)”的后缀表达式形式为“46 5 120 37- * +”。 计算后缀表达式时,从左至右扫描后缀表达式:若遇到运算对象,则压入栈中;遇到运算符,则从栈中弹出相关运算对象进行计算,并将运算结果压入栈中。重复以上过程,直到后缀表达式扫描结束。例如,后缀表达式“46 5 120 37 - * +”的汁算过程如下。 ①依次将46、5、120、37压入栈中。 ②遇到“-”,取出37、120,计算120-37=83,将其压入栈中。 ③遇到“*”,取出83、5,计算5×83=415,将其压入栈中。 ④遇到“+”,取出415、46,计算46+415=461,将其压入栈中。 ⑤表达式结束,则计算过程完成。 函数computing(char expt[],int *result)的功能是基于栈计算后缀形式的表达式(以串形式存入字符数组expr)的值,并通过参数result返回该值。函数的返回值为-1/0,分别表示表达式有/无错误。假设表达式中仅包含数字、空格和算术运算符号,其中所有项均以空格分隔,且运算符仅包含加(“+”)、减(“-”)、乘(“*”)、除(“/”)。 函数computing中所用栈的基本操作的函数原型说明如下。 void InitStack(STACK *s):初始化栈。 void Push(STACK *s, int e):将一个整数压栈,栈中元素数目增1。 void Pop(STACK *s):栈顶元素出栈,栈中元素数目减1。 int Top(STACK s):返回非空栈的栈顶元素值,栈中元素数目不变。 int IsEmpty(STACK s):若s是空栈,则返回1;否则返回0。 [C函数] int computing(char expr[], int *result) { STACK s; int tnum, a, b; char *ptr; InitStack( ptr=expr; pstr /*字符指针指向后缀表达式串的第一个字符*/ while (*ptr!='/0') { if(*ptr==' ') { /*当前字符是空格*/ {{U}} (1) {{/U}}; /*字符指针指向下一字符*/ continue; } else if (isdigit(*ptr)) { /*当前字符是数字,则将该数字开始的数字串转换为数值*/ tnum={{U}} (2) {{/U}}; while (*ptr>='0' ptr++; } push({{U}} (4) {{/U}}); } else /*当前字符是运算符或其他符号*/ if (*ptr=='+'||*ptr=='-'||*ptr=='*'||*ptr=='/'){ if(!IsEmpty(S)){ a=Top(s); Pop( /*取运算符的第二个运算数*/ if(!IsEmpty(S)){ b=Top(s); Pop( /*取运算符的第一个运算数*/ } else return-1; } else return -1; switch (*ptr) { case'+': Push( break; case'-': Push( break; case'+': Push( break; case'/': Push( break; } else return -1; ptr++; /*字符指针指向下一字符*/ }/*while*/ if (IsEmpty(s)) return -1; else { {{U}} (5) {{/U}}=Top(s); Pop( /*取运算结果*/ if (!IsEmpty(s)) return -1; return 0; } }
进入题库练习
填空题阅读以下说明和C++代码,填补空缺。 [说明] C++标准模板库中提供了vector模板类,可作为动态数组使用,并可容纳任意数据类型,其所属的命名空问为std。vector模板类的部分方法说明如表12-3所示。 表12-3 vector模板类的部分方法 方法 含义 push_back(k) 向vector对象的尾部添加一个元素k begin() 返回一个迭代器对象,该对象指向vector中的第一个元素 end() 返回一个迭代器对象,该对象指向vector中的最后一个元素 empty() 测试vector对象是否为空 erase(ptr) 删除vector中ptr指向的元素 [C++代码] #include<iostream> #include<vector> using namespace {{U}}(1) {{/U}}; typedef vector<{{U}} (2) {{/U}}>INTZECTOR; const int ARRAY_SIZE=6; void ShowVector(INTVECTOR int main( ) { INTVECTOR theVector; //初始化theVector,将theVector的元素依次设置为0至5 for (int cEachItem=0; cEachItem<ARRAY_SIZE; cEachItem++) theVector. push_back({{U}} (3) {{/U}}); ShowVector(theVector); //依次输出theVector中的元素 theVector. erase(theVector. begin( )+3); ShowVector(theVector); } void ShowVector(INTVECTOR return; } INTVECTOR::iterator {{U}}(4) {{/U}}; for(theIterator = theVector.begin( ); theIterator != theVector.end( ); theIterator++){ cout<< *theIterator; if(theIterator ! =thevector. end( )-1)cout<<","; } cout<<endl; } 该程序运行后的输出结果为: 0, 1 , 2, 3, 4, 5 {{U}} (5) {{/U}}
进入题库练习
填空题阅读以下说明和Java代码,将应填入______处的语句或语句成分写在对应栏内。 [说明] 某数据文件students.txt的内容为100名学生的学号和成绩,下面的程序将文件中的数据全部读入对象数组,按分数从高到低进行排序后选出排名前30%的学生。 [Java代码] import Java.io.*; class Student private String sNO; //学号 private int Credit; //分数 public int getCredit() return Credit; public String toString() return"sNO="+this.sNO+",Credit="+this.Credit; Student(String sNO,int Credit) ______=sNO; ______=Credit; public class SortStudent void sort(Student[]s)//Sort the array s[] in decending order of Credit for(int i=0;i<s.length-1;i++) for(int j=i+1;j<s.length;j++) if(s[i].______<s[j].______) Student tmp=s[i]; s[i]=s[j]; s[j]=tmp; public static void main(String argv[]) Student[] testStudent=new Student[size]; try BufferedReader in=new BufferedReader(new FileReader("students.txt")); boolean done=false; int i=0; while(!done) String s=in.readLine(); //每次读取一个学生的学号和成绩 if(s!=rimll) String tmp[]=s.split(","); testStudent[i++]=______(tmp[0],Integer.parseInt(tmp[1])); else done=true; in.closeo(); ______=new SortStudent(); ss.Soft(testStudent); System.out.printin("top 30%:"); for(int j=0;j<size*0.3;j++) System.out.printin(testStudent[j]); catch(IOException e) System.out.printin("io error!"); catch(NumberFormatException e) System.out.println("not a number!"); ______int size=100; //学生总数
进入题库练习
填空题阅读以下说明和流程图,填补流程图中的空缺。[说明]本流程图用于计算菲波那契数列a1=1,a2=1,an=an-1+an-2,|n=3,4,...的前n项(n≥2)之和S。例如,菲波那契数列前6项之和为200计算过程中,当前项之前的两项分别动态地保存在变量A和B中。[流程图]
进入题库练习
填空题[说明] java.util库中提供了Vector模板类,可作为动态数组使用,并可容纳任意数据类型。 该类的部分方法说明如下所示: 方法名 含义 add(k) 向vector对象的尾部添加一个元素k removeElementAt(i) 删除序号为i的元素(vector元素序号从0开始) isEmpty( ) 判断vector对象是否含有元素 size( ) 返回vector对象中所包含的元素个数 [Java代码] Import (1) ; public class JavaMain static private final int (2) =6; public static void main(String[]args) Vector theVector=new Vector< (3) >( ); //初始化theVector,将theVector的元素设置为0至5 for(int cEachItem=0; cEachItem<ARRAY_SIZE; cEachItem++) theVector. add( (4) ); showVector(theVector); //依次输出theVector巾的元素 theVector. removeElementAt(3); showVector(theVector); public static void showVector(Vector theVector) if(theVector. isEmpty( )) System.out.printin("theVector is empty."); return; for(int loop=0; loop<theVector.size( ); loop++) System.out.print(theVector.get(loop)); System.out.print(","); System.out.printin( ); 该程序运行后的输出结果为: 0, 1, 2, 3, 4, 5 (5)
进入题库练习
填空题阅读以下说明和C程序,填充函数中的空缺。[说明]N个游戏者围成一圈,从1~N顺序编号,游戏方式如下;从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,直到剩余一个游戏者为止,该游戏者即为获胜者。下面的函数playing(Linklisthead)模拟上述游戏过程并返回获胜者的编号。其中,N个人围成的圈用一个包含N个结点的单循环链表来表示,如图1所示,游戏者的编号放在结点的数据域中。在函数中,以删除结点来模拟游戏者退出圈子的处理。整型变量c(初值为1)用于计数,指针变量p的初始值为head(如图1所示)。游戏时,从p所指向的结点开始计数,p沿链表中的指针方向遍历结点,c的值随p的移动相应地递增。当c计数到2时,就删除p所指结点的下一个结点(因下一个结点就表示报数到3的游戏者),如图2所示,然后将c设置为0后继续游戏过程。结点类型定义如下:typedefstructnode{intcode;/*游戏者的编号*/structnode*next;}NODE,*LinkList;[C函数]intP1aying(LinkListhead,intn){/*head指向含有n个结点的循环单链表的第一个结点(即编号为1的游戏者)*/LinkListp=head,q;intthewinner,c=1;while(n>________){if(c==2){/*当c等于2时,p所指向结点的后继即为将被删除的结点*/q=p->next;p->next=________;printf("%d\t",q->code);/*输出退出圈子的游戏者编号*/free(q);}/*if*/p=________;}/*while*/theWinner=________;free(p);returntheWinner;/*返回最后一个游戏者(即获胜者)的编号*/}
进入题库练习