国家二级C语言机试(操作题)模拟试卷409
- 格式:doc
- 大小:7.04 KB
- 文档页数:2
国家二级C语言机试(操作题)模拟试卷300(题后含答案及解析) 全部题型 2. 程序填空题 3. 程序修改题 4. 程序设计题程序填空题1.程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。
所有学生数据均以二进制方式输出到文件中。
函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!试题程序:1 #include<Stdio.H>2 #define N 53 typedef struct student {4 long sno;5 char name[10];6 float score[3];7 }STU;8 void fun(char*filename,STU n)9 {FILE*fp;10 /*********found*********/11 fp=fopen(【1】,”rb+”);12 /*********found*********/13 fseek(【2】,-(long)sizeof(STU),SEEK END);14 /*********found*********/15 fwrite(&n,sizeof(STU),1,【3】);16 fclose(fP);17 }18 main( )19 {STU t[N]={{10001,”MaChao”,91,92,77},{10002,”CaoKai”,75,60,88},{10003,”LiSi”,85,70,78),{10004,”FangFang”,90,82,87},{10005,”ZhangSan”,95,80,88)};20 STU n={10006,”ZhaoSi”,55,70,68},SS[N];21 int i,j;FILE*fP;22 fp=fopen(“student.dat”,”wb”);23 fwrite(t,sizeof(STU),N,fp);24 fclose(fp);25 fp=fopen(“student.da”,”rb”);26 freacl(ss,sizeof(STU),N,fp);27 fclose(fp);28 print;f(“\nThe original data:\n\n”);29 for(j=0;j<N;j++)30 {printf(“\nNo:%ld Name:%一8s Scores:”,ss[j].sno,ss[j].name);31 for(i=0;i<3;i++)32 printf(“%6.2f”,ss[j].score[i]);33 printf(“\n”);34 }35 fun(“student.dat”,n);36 printf(“\nThe data after modif-ing:\n\n”);37 fp=fopen(“student.dat”,”rb”);38 fread(ss,Sizeof(STU),N,fp);39 fclose(fp);40 for(j=0;j<N;j++)41 {printf(“\nNo:%ld Name:%-8s Scores:”,ss[j].sno,ss[j].name);42 for(i=0;i<3;i++)43 printf(“%6.2f”,ss[j].score[i]);44 printf(“\n”);45 }46 }正确答案:(1)filename(2)fp(3)fp解析:填空1:本空是对文本文件的打开,filename所指的文件中的最后数据要进行重写,因此首先是要打开,因而本空填写filename。
国家二级C语言机试(操作题)模拟试卷690(题后含答案及解析) 全部题型 2. 程序填空题 3. 程序修改题 4. 程序设计题程序填空题1.函数fun的功能是:在有n个元素的结构体数组std中,查找有不及格科目的学生,找到后输出学生的学号:函数的返回值是有不及格科目的学生人数。
例如,主函数中给出了4名学生的数据,则程序运行的结果为:学号:N1002 学号:N1006 共有2位学生有不及格科目请在程序的下划线处填入正确的内容,并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 typedef struct3 { char num[8];4 double score[2];5 /**********found**********/6 }___(1)___;7 int fun(STU std[],int n)8 {int i,k=0;9 for(i=0;i<n;i++)10 /**********found**********/11 if(std[i].score[0]<60__(2)__std[i].score[1]<60)12 { k++;prfntf(‘‘学号:%s’’,std[i].num);}13 /**********found**********/14 return_-(3)__;15 }16 main( )17 {STU std[4]={‘‘N1001’’,76.5,82.0,’’N1002’’,53.5,73.0,’’N1005’’,80.5,66.0,’’N1006’’,81.0,56.0};18 printf(‘‘\n 共有%d位学生有不及格科目\n’’,fun(std,4)};19 }正确答案:(1)STU(2)||(3)k解析:本题中函数fun的功能是在有n个元素的结构体数组std中,查找有不及格科目的学生,找到后输出学生的学号;函数的返回值是有不及格科目的学生人数。
国家二级C语言机试(结构体、共同体、位运算及文件操作)模拟试卷12(题后含答案及解析)题型有:1. 选择题选择题1.关于typedef的叙述中错误的是( )。
A.用typedef可以为各种类型起别名,但不能为变量起别名B.可以通过typedef增加新的类型C.用typedef定义新的类型名后,原有类型名仍有效D.可以用typedef将已存在的类型用一个新的名字来代表正确答案:B解析:C语言允许用typedef说明一种新类型名或为现有类型起个别名,而不是创建新类型,说明新类型名的语句一般形式为:typedef类型名标识符;在此,“类型名”必须是在此语句之前已有定义的类型标识符。
标识符是一个用户定义标识符,用作新的类型名。
typedef语句的作用仅仅是用“标识符”来代表已存在的“类型名”,并未产生新的数据类型,原有类型名依然有效。
知识模块:结构体及文件操作2.正确的结构体类型说明和变量定义是( )。
A.typedef struct f{int n;char c;}STR;STR t1,t2;B.struct STR;{int n;char C;};STR t1,t2;C.typedef stmct STR;{int n=0;char c=‘A’;}t1,t2;D.struct{int n;char c;}STR;STR t1,t2;正确答案:A解析:定义结构体类型的一般形式为:struct结构体名{成员列表};struct 结构体名后不能加“:”号。
但定义完之后要在句末加分号,所以选项B、C有误,选项D中定义无名称的结构体类型同时定义结构体变量形式应为“stmct t1,t2;”。
选项A为用户自定义类型,其为正确的定义形式。
知识模块:结构体及文件操作3.若typedef int*T;T a[5];则与a的定义相同的是( )。
A.int*a[5];B.int(*a)[5]C.int,*a;D.int a[5];正确答案:A解析:typedef的主要功能是为存在的类型指定一个新的别名,后面的代码中可以利用该新定义的别名定义变量,题目定义了整型指针类型T,而后利用T 定义了整型指针数组a,含有5个元素,选项A中定义了整型指针数组a,选项B定义了一个指向一维数组的指针a,选项C定义指针变量,而选项D为定义整型数组最常用的形式,数组a中可以存放5个数据元素。
国家二级C语言机试(操作题)模拟试卷349(题后含答案及解析) 全部题型 2. 程序填空题 3. 程序修改题 4. 程序设计题程序填空题1.给定程序中,函数fun的功能是将参数给定的字符串、整数、浮点数写到文本文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi 和atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 #include<stdlib.h>3 void fun(char *s,int a,double f)4 {5 /**********found**********/6 ___1___ fp;7 char str[100],str1[100],str2[100];8 int a1;double f1;9 fp=fopen(‘‘filel.txt’’,’’w’’);10 fprintf(fp,’’%s%d%f\n’’,s,a,f);11 /**********found**********/12 __2__;13 fp=fopen(‘‘file1.txt’’,’’r’’);14 /**********found**********/15 fscanf(__3__,’’%s%s%s’’,str,str1,str2);16 fclose(fp);17 a1=atoi(str1);18 f1=atof(str2);19 printf(‘‘\nThe result:\n\n%s%d%f\n’’,str,a1,f1);20 }21 main( )22 {char a[10]=‘‘Hello!’’;int b=12345;23 double c=98.76;24 fun(a,b,c);25 }正确答案:(1)FILE* (2)fclose(fp) (3)fp解析:第一空:“fp=fopen(‘‘filel.txt’’,’’w’’);”可知fp是文件型指针,故第一空处fp的定义应为“FILE*”。
二级C语言笔试-409(总分100,考试时间90分钟)一、选择题1. 程序流程图中带有箭头的线段表示的是A) 图元关系 B) 数据流 C) 控制流 D) 调用关系2. 算法的空间复杂度是指( )A) 算法程序的长度 B) 算法程序中的指令条数C) 算法程序所占的存储空间 D) 算法执行过程中所需要的存储空间3. 按照“先进后出”原则组织数据的数据结构是( )。
A) 队列 B) 栈 C) 双向链表 D) 二叉树4. 面向对象的设计方法与传统的面向过程的方法有本质不同,它的基本原理是( )。
A) 模拟现实世界中不同事物之间的联系B) 强调模拟现实世界中的算法而不强调概念C) 使用现实世界的概念抽象地思考问题,从而自然地解决问题D) 鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考5. 在一个C程序中______。
A) 用户标识符中可以出现下划线和中划线(减号)B) 用户标识符中不可以出现中划线,但可以出现下划线C) 用户标识符中可以出现下划线,但不可以放在用户标识符的开头D) 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头6. 下列选项中不属于结构化程序设计原则的是( )。
A.可封装 B.自顶向下C.模块化 D.逐步求精7. 数据库技术的根本目标是要解决数据的( )A) 存储问题 B) 共享问题 C) 安全问题 D) 保护问题8. 下列叙述中错误的是A) 软件测试的目的是发现错误并改正错误B) 对被调试的程序进行“错误定位”是程序调试的必要步骤C) 程序调试通常也称为DebugD) 软件测试应严格执行测试计划,排除测试的随意性9. 设有如下三个关系表:下列操作中正确的是______。
A) T=R∩S B) T=R∪S C) T=R×S D) T=R/S10. 一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。
A.一对一 B.一对多C.多对一 D.多对多11. 下列叙述中错误的是A) 在数据库系统中,数据的物理结构必须与逻辑结构一致B) 数据库技术的根本目标是要解决数据的共享问题C) 数据库设计是指在已有数据库管理系统的基础上建立数据库D) 数据库系统需要操作系统的支持12. 视图设计一般有3种设计次序,下列不属于视图设计的是______。
国家二级C语言机试(操作题)模拟试卷355(题后含答案及解析) 全部题型 2. 程序填空题 3. 程序修改题 4. 程序设计题程序填空题1.给定程序中,函数fun的作用是:不断从终端读入整数,由变量a统计大于0的个数,用变量c来统计小于0的个数,当输入0时结束输入,并通过形参pa和pb把统计的数据传回主函数进行输出。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 void fun(int *px,int *py)3 {4 /**********found**********/5 int___(1)___;6 scanf(‘‘%d’’,&k);7 /**********found**********/8 while___(2)__9 {if(k>0) a++;10 if(k<0)b++;11 /**********found**********/12 __(3)___;13 }14 *px=a;*py=b;}15 main( )16 {int x,y;17 fun(&x,&y);18 printf(‘‘x=%d y=%d\n’’,x,y);19 }正确答案:(1)a=0,c=0,k (2) (k!=0) (3)scanf(‘‘%d’’,&k);解析:第一空:“int__(1)__;”这一空出现在fun函数最开始的定义阶段,我们可以看到这里定义的是int整型数据,而在这下面的一步为”scanf(‘‘%d’’,&k);即让我们输入k的数据,再根据题意,就可以知道这里的k是我们不断输入的整数,而整个程序也仅仅需要这一个数据的输入,所以这一空定义的就是我们需要输入的数据k,同时下面出现在a,c也都没有定义,所以这一空应该填“a=0,c=0,k”。
国家二级C语言机试(操作题)模拟试卷226(题后含答案及解析) 全部题型 2. 程序填空题 3. 程序修改题 4. 程序设计题程序填空题1.下列给定程序中,函数fun的功能是:在形参s所指字符串中的每个数字字符之后插入一个*号。
例如,形参s所指的字符串为“det35adh3kjsdf7”,执行后结果为“def3*5*adh3*kjsdf7*”。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!试题程序:1 #include<stdio.h>2 void fun(char*s)3 {4 int i , j,n;5 for(i=0;s[i]!=‘\0’;i++)6 /*********found*********/7 if(s[i]>=‘0’【1】s[i]【2】)12 n++;13 for(j=i+n+1; j>i;j--)14 /********* found*********/15 s[j+1]=【3】;16 s[j+1]=‘*’;17 i=i+1;18 }19 }20 main( )21 {22 char s[60]=‘‘def35adh3kjsdf7’’;23 printf(‘‘\nThe original string is:%s\n’’,s);24 fun(s);25 printf(‘‘\nThe result is:%s\n’’,s);26 }正确答案:(1)&& (2)0或’\0’(3)s[j]或*(s+j)解析:填空1:if语句中的条件是判断是否为数字字符,数字字符的条件是大于等于“0”,同时小于等于“9”,因此需要使用逻辑与“&&”来连接。
填空2:whik语句判断是否到达字符串的结尾,因此填入0(字符串结束标识’\0’)。
填空3:for语句使数字后的字符全都向后移一个单位,因此要使s[j+1]=s[j];。
国家二级C语言机试(操作题)模拟试卷365(题后含答案及解析) 全部题型 2. 程序填空题 3. 程序修改题 4. 程序设计题程序填空题1.给定程序中,函数fun的功能是:有N×N矩阵,将矩阵的外围元素顺时针旋转。
操作顺序是:首先将第一行元素的值存入临时数组r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,临时数组中的元素成为最后一列。
例如,若N=3,有下列矩阵: 1 2 3 计算结果为7 4 1 4 5 6 8 5 2 7 8 9 9 6 3 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 #define N 43 void fun(int(*t)[N])4 { int j,r[N];5 for(j=0;j<N;j++)r[j]=t[0][j];6 for(j=0;j<N;j++)7 /**********found**********/8 t[0][N-j-1]=t[j][__1__];9 for(j=0;j<N;j++)10 t[j][0]=t[N-1][j];11 /**********found**********/12 for(j=N-1;j>=0;__2__)13 t[N-1][N-1-j]=t[j][N-1];14 for(j=N-1;j>=0;j--)15 /**********found**********/16 t[j][N-1]=r[__3__];17 }18 main( )19 {int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10},i,j;20 printf(‘‘\nThe original array:\n’’);21 for(2=0;i<N;i++)22 {for(j=0;j<N;j++)printf(‘‘%2d”,t[i][j]);23 printf(‘‘\n’’);24 }25 fun(t);26 printf(‘‘\nThe result is:\n’’);27 for(i=0;i<N;i++)28 { for(j=0;j<N;j++)printf(‘‘%2d’’,t[i][j]);29 printf(‘‘\n’’);30 }31 }正确答案:(1)0 (2)j-- (3)j解析:第一空:由审题分析可知,此处是使第一列成为第一行,即把第一列元素移动到第一行,第一列元素是“t[j][0]”,第一行元素是“t[0][N-j-1]”,故第一空处应为“0”。
下半年计算机二级考试C语言模拟试题及答案四2015年下半年计算机二级考试C语言模拟试题及答案(四)一、选择题1.已知函数的调用形式:fread(buffer,size,count,fp);其中buffer 代表的是(B)。
A、一个存储区,存放要读的数据项B、一个指针,指向要读入数据的存放地址C、一个文件指针,指向要读的文件D、一个整数,代表要读入的数据项总数2.结构体类型的定义允许嵌套是指(A)。
A、成员是已经或正在定义的结构体型B、定义多个结构体型C、成员可以重名D、结构体型可以派生3.对结构体类型的变量的成员的访问,无论数据类型如何都可使用的运算符是(B)。
A、&B、.C、*D、->4.若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是(D)。
A、&t[1]B、t[3]C、&t[3][2]D、t[2]5.若有说明:int *p,m=5,n;以下正确的程序段是(D)。
A、scanf("%d",&n);*p=n;B、p=&n;scanf("%d",*p)C、p=&n;scanf("%d",&p);D、p=&n;*p=m;6.若定义:int a=511,*b=&a;, 则printf("%d\n",*b);的输出结果为(D)。
A、无确定值B、a的地址C、512D、5117.下列说法中正确的是(B ).A、函数调用不占运行时间,只占编译时间.B、宏替换不占运行时间,只占编译时间.C、有参数的宏定义,就是函数.D、在定义宏时,宏名与带参数的括弧之间可以加空格.C语言程序中,若对函数类型未加声明,则函数的类型系统默认为(C)。
A、voidB、doubleC、intD、char8.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是(A)。
国家二级(C语言)机试模拟试卷45(题后含答案及解析)题型有:1. 选择题 2. 程序填空题 3. 程序修改题 4. 程序设计题选择题1.下列叙述中正确的是A.一个算法的空间复杂度大,则其时间复杂度也必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一个算法的时间复杂度大,则其空间复杂度必定小D.算法的时间复杂度与空间复杂度没有直接关系正确答案:D解析:算法的空间复杂度是指算法在执行过程中所需要的内存空间,算法的时间复杂度,是指执行算法所需要的计算工作量,两者之间并没有直接关系,答案为D。
2.下列叙述中正确的是A.循环队列中的元素个数随队头指针与队尾指针的变化而动态变化B.循环队列中的元素个数随队头指针的变化而动态变化C.循环队列中的元素个数随队尾指针的变化而动态变化D.以上说法都不对正确答案:A解析:在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。
因此,从排头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素。
所以循环队列中的元素个数与队头指针和队尾指针的变化而变化,A正确。
3.一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为A.219B.229C.230D.231正确答案:B解析:二叉树中,度为0的节点数等于度为2的节点数加1,即n2=n0-1,叶子节点即度为0,则n2=79,总结点数为n0+n1+n2=80+70+79=229,答案为B。
4.对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为A.9B.10C.45D.90正确答案:C解析:冒泡法是在扫描过程中逐次比较相邻两个元素的大小,最坏的情况是每次比较都要将相邻的两个元素互换,需要互换的次数为9+8+7+6+5+4+3+2+1=45,选C。
5.构成计算机软件的是A.源代码B.程序和数据C.程序和文档D.程序、数据及相关文档正确答案:D解析:软件指的是计算机系统中与硬件相互依赖的另一部分,包括程序、数据和有关的文档,选D。
国家二级C语言机试(操作题)模拟试卷409
(总分:6.00,做题时间:90分钟)
一、程序填空题(总题数:1,分数:2.00)
1.给定程序中,函数fun的功能是:找出100~999之间(含100和999)所有整数中各位上数字之和为x(x 为一正整数)的整数,然后输出;符合条件的整数个数作为函数值返回。
例如,当x值为5时,100~999之间各位上数字之和为5的整数有:104、113、122、131、140、203、212、221、230、302,311,320、401、410、5000共有15个。
当x值为27时,各位数字之和为27的整数是:999。
只有1个。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 int fun(int x)3 { int n,s1,s2,s3,t ;4 n=0;5 t=100;6 /*********found*********/7 while(t<= __1__) {8 /*********found*********/9 s1=t%10;s2=( __2__ )%10;s3=t/100;10 /*********found*********/11 if(s1+s2+s 3==__3__)12 {printf(''%d'',t);13 n++;14 }15 t++;16 }17 return n;18 }19 main()20 { int x=-1;21 while(x<0)22 { printf(''Please input(x>0):'');scanf(''%d'',&x);}23 printf(''\nThe result is:%d\n'',fun(x));24 }
(分数:2.00)
__________________________________________________________________________________________ 正确答案:(正确答案:(1)999 (2)t/10 (3)x)
解析:解析:在100~999之间(含100和999)所有整数中,取x的个位、十位和百位,可由x%10,x/10再对10求余、x/100分别得到。
第一空:是补充while循环的终止条件,题干要求fun寻找100~999之间满足条件的数x,因此循环终止条件是999,故第一空处应填“999”。
第二空:“s1=t%10;s2=(__2__)%10;s3=t/100;”可知s1求得t的个位数,s3求得t的百位数,因此s2是求t的十位数。
(t/10)变量t变成两位数,再次对10取余便得到t的十位数,因此第二空处应为“t/10”。
第三空:
“if(s1+s2+s3==__3__)”是判断t是否满足题干条件:各位上数字之和为x,因此第三空处应为“x”。
二、程序修改题(总题数:1,分数:2.00)
2.给定程序MODI1.C中函数fun的功能是:通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。
例如变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 int fun(int *x,int y)3 {4 int t;5 /**********found**********/6 t=x;x=y;7 /**********found**********/8 return(y);9 }10 main()11 { int a=3,b=8;12 printf(''%d%d\n'',a,b);13 b=fun(&a,b);14 printf(''%d%d\n'',a,b);15 }
(分数:2.00)
__________________________________________________________________________________________ 正确答案:(正确答案:(1)t=*x;*x=v; (2)return(t);)
解析:解析:(1)根据fun中x变量的定义,x为指针型变量,所以第一个错误标识下的“t=x;x=y;”改为“t=-*x;*x=y;”。
(2)交换之后t中存放原来x的值,x存放原来y的值,这里应该是返回原来x的值,所以第二个标识下的“return(y);”应该改为“return(t);”或者“r eturn t;”。
三、程序设计题(总题数:1,分数:2.00)
3.请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCH码降序排列。
例如,原来的字符串为:CEAedca,排序后输出为:CedcEAa。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
1 #include <stdio.h>2 #include<ctype.h>3 #include<string.h>4 void fun(char *s,int num)5 {67 }8 NONO()9 {10 /*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。
*/11 char s[10];12 FILE *rf,*wf ;13 int i=0;14 rf=fopen(''in.dat'',''r'');15 wf=fopen(''out.dat'',''w'');16 while(i<10) {17 fgets(s,10,rf);18 s[7]=0 ;19 fun(s,7);20 fprintf(wf,''%s \n'',s);21 i++;22 }23 fclose(rf);24 fclose(wf);25 }26 main()27 {28 char s[10];29 printf(''
输入7个字符的字符串:'');30 gets(s);31 fun(s,7);32 printf(''\n%s'',s);33 NONO();34 } (分数:2.00)
__________________________________________________________________________________________ 正确答案:(正确答案:1 char t; 2 int i,j; 3 for(i=1;i<num-2;i++) 4 //对n个元素进行循环选择5 for(j=i+1;j<num-1;j++) 6 if(s[i]<s[j]) 7 //将str[i]设为最大值,和剩下的j~num-1进行比较 8 { t=s[i]; 9 s[i]=s[j]; 10 s[j]=t; 11 })
解析:解析:选择排序法中的降序排序,首先从数组中挑选一个最大的元素,把它和第一个元素交换,接着从剩下的num-1个元素中再挑出一个最大的元素,把它和第二个元素交换,不断重复以上过程,直到比较完最后两个元素。