1、上机考试题库 第1类 按结构体成员筛选并排序 第1套 已知在文件IN.DAT中存有100个产品销售的记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)几部分组成。其中:金额=单价数量。函数ReadDat()的功能是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从小到大进行排列,若产品名称相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT.DAT中。 注意:部分源程序存放在PROG1.
2、C中。请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。void SortDat() int i, j;PRO temp;for (i = 0; i99;i+) for (j=i+1;j0) temp = selli; selli = sellj; sellj = temp;else if (strcmp(selli.mc, sellj.mc)= =0) if (selli.jesellj.je) temp = selli; selli = sellj; sellj = temp; 第2套 已知在文件IN.DAT中存有100个产品销售的记录,每个产品销售记
3、录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)几部分组成。其中:金额=单价数量。函数ReadDat()的功能是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从大到小进行排列,若产品名称相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT.DAT中。 注意:部分源程序存放在PROG1.C中。请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。void SortDat(
4、) int i,j;PRO temp;for (i=0;i99;i+) for(j=i+1;j100;j+)if(strcmp(selli.mc,sellj.mc)0)temp=selli; selli=sellj; sellj=temp;else if(strcmp(selli.mc,sellj.mc)= =0) if(selli.jesellj.je) temp=selli; selli=sellj; sellj=temp; 第3套 已知在文件IN.DAT中存有100个产品销售的记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整
5、型)、金额je(长整型)几部分组成。其中:金额=单价数量。函数ReadDat()的功能是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品代码从小到大进行排列,若产品代码相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT.DAT中。 注意:部分源程序存放在PROG1.C中。请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。void SortDat() int i,j;PRO temp;for (i=0;i99;i+) for(j=i+1;
6、j0)temp =selli; selli=sellj; sellj=temp;else if(strcmp (selli.mc, sellj.mc)= =0) if(selli.jesellj.je) temp=selli; selli=sellj; sellj=temp; 第4套 已知在文件IN.DAT中存有100个产品销售的记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)几部分组成。其中:金额=单价数量。函数ReadDat()的功能是读取这100个销售记录并存入结构数组sell中。请编制函数SortD
7、at(),其功能要求:按金额从大到小进行排列,若金额相同,则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT.DAT中。 注意:部分源程序存放在PROG1.C中。请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。void SortDat() int i, j;PRO temp;for (i = 0; i99;i+) for (j=i+1;j100;j+)if (selli.jesellj.je) temp = selli; selli = sellj; sellj = temp;els
8、e if (selli.je= =sellj.je) if (strcmp(selli.dm,sellj.dm)0) temp = selli; selli = sellj; sellj = temp;第5套 已知在文件IN.DAT中存有100个产品销售的记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)几部分组成。其中:金额=单价数量。函数ReadDat()的功能是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从大到小进行排列,若产品名称相同,则按金额从
9、小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT.DAT中。 注意:部分源程序存放在PROG1.C中。请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。void SortDat() int i, j;PRO temp;for (i = 0; i99;i+) for (j=i+1;j100;j+)if (strcmp(selli.mc, sellj.mc)sellj.je) temp = selli; selli = sellj; sellj = temp;第6套 已知在文件IN.DAT中存有100
10、个产品销售的记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)几部分组成。其中:金额=单价数量。函数ReadDat()的功能是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按金额从大到小进行排列,若金额相同,则按产品名称从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT.DAT中。 注意:部分源程序存放在PROG1.C中。请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容
11、。void SortDat() int i, j;PRO temp;for (i = 0; i99;i+) for (j=i+1;j100;j+) if (selli.je0) temp = selli; selli = sellj; sellj = temp; 第7套 已知在文件IN.DAT中存有100个产品销售的记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)几部分组成。其中:金额=单价数量。函数ReadDat()的功能是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功
12、能要求:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT.DAT中。 注意:部分源程序存放在PROG1.C中。请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。void SortDat() int i, j;PRO temp;for (i = 0; i99;i+) for (j=i+1;j100;j+) if (strcmp(selli.dm, sellj.dm)0) temp = selli; selli = sellj; sellj = t
13、emp;else if (strcmp(selli.dm, sellj.dm)= =0 if (selli.jesellj.je) temp = selli; selli = sellj; sellj = temp; 第8套 已知在文件IN.DAT中存有100个产品销售的记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)几部分组成。其中:金额=单价数量。函数ReadDat()的功能是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从小到大进行排列,若产品名称
14、相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT.DAT中。 注意:部分源程序存放在PROG1.C中。请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。void SortDat() int i, j;PRO temp;for (i = 0; i99;i+) for (j=i+1;j0) temp = selli; selli = sellj; sellj = temp;else if (strcmp(selli.mc, sellj.mc)= =0 if (selli.jesellj
15、.je) temp = selli; selli = sellj; sellj = temp; 第9套 已知在文件IN.DAT中存有100个产品销售的记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)几部分组成。其中:金额=单价数量。函数ReadDat()的功能是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按金额从小到大进行排列,若金额相同,则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT.
16、DAT中。 注意:部分源程序存放在PROG1.C中。请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。void SortDat() int i, j;PRO temp;for (i = 0; i99;i+) for (j=i+1;jsellj.je) temp = selli; selli = sellj; sellj = temp;else if (selli.je= =sellj.je) if (strcmp(selli.dm, sellj.dm)0) temp = selli; selli = sellj; sellj = temp; 第10套 已知
17、在文件IN.DAT中存有100个产品销售的记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)几部分组成。其中:金额=单价数量。函数ReadDat()的功能是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按金额从小到大进行排列,若金额相同,则产品代码从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT.DAT中。 注意:部分源程序存放在PROG1.C中。请勿改动主函数main()、读函数ReadDat()和写函
18、数WriteDat()的内容。void SortDat() int i, j;PRO temp;for (i = 0; i99;i+) for (j=i+1;jsellj.je) temp = selli; selli = sellj; sellj = temp;else if (selli.je= =sellj.je) if(strcmp (selli.dm, sellj.dm)0) temp = selli; selli = sellj; sellj = temp; 第2类 数位分解后按数筛选统计并排序第11套已知数据文件IN.DAT中存有300个4位数,并已调用读函数readDat()把
19、这些数存入数组a中。请编制函数jsValue(),其功能是:求出千位数上的数加个位数上的数等于百位数上的数加十位数上的数的个数cnt,再把所有满足此条件的4位数依次存入数组b中,然后对数组b的4位数按从小到大的顺序进行排序,最后调用写函数writeDat()把数组b中的数输出到OUT.DAT文件中。例如:6712,6+2=7+1,则该数满足条件,存入数组b中,且个数cnt=cnt+1.8129,8+91+2,则该数不满足条件,忽略。注意:部分源程序存放在PROG1.C中。程序中已定义数组:a300,b300,已定义变量:cnt。请勿改动主函数main()、读函数readDat()和写函数wri
20、teDat()的内容。void jsValue () int i,j; int a1,a2,a3,a4; int temp; for (i=0;i300;i+) a4=ai/1000; a3=ai%1000/100; a2=ai%100/10; a1=ai%10; if (a4+a1= =a3+a2) bcnt=ai; cnt+; for (i=0;icnt-1;i+) for (j=i+1;jbj) temp=bi;bi=bj;bj=temp; 第12套已知数据文件IN.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:如
21、果4位数各位上的数字均是奇数,则统计出满足此条件的个数cnt,并把这些4位的按从大到小顺序存入数组b中。最后调用函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT.DAT文件。注意:部分源程序存放在PROG1.C中。程序中已定义数组:a200,b200,已定义变量:cnt。请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。void jsVal () int i,j; int a1,a2,a3,a4; int temp; for (i=0;i200;i+) a4=ai/1000; a3=ai%1000/100; a2=ai%100/1
22、0; a1=ai%10; if (a4%2!=0&a3%2!=0&a2%2!=0&a1%2!=0) bcnt=ai; cnt+; for (i=0;icnt-1;i+) for (j=i+1;jcnt;j+) if (bibj) temp=bi;bi=bj;bj=temp; 第13套已知数据文件IN.DAT中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中。请编制一函数jsValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足此条件的4位数依次存入数组b中,然后对数组b的4位数按从大到小的顺序进行排序,最后调用写
23、函数writeDat()把数组b中的数输出到OUT.DAT文件中。例如:7153,7+1=5+3,则该数满足条件,存入数组b中,且个数cnt=cnt+1.8129,8+91+2,则该数不满足条件,忽略。注意:部分源程序存放在PROG1.C中。程序中已定义数组:a300,b300,已定义变量:cnt。请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。void jsValue () int i,j; int a1,a2,a3,a4; int temp; for (i=0;i300;i+) a4=ai/1000; a3=ai%1000/100; a2=ai%10
24、0/10; a1=ai%10; if (a4+a3= =a2+a1) bcnt=ai; cnt+; for (i=0;icnt-1;i+) for (j=i+1;jcnt;j+) if (bibj) temp=bi;bi=bj;bj=temp; 第14套已知数据文件IN1.DAT和IN2.DAT中分别存有100个两位十进制数,并且已调用读函数readDat()把这两个文件中的数存入数组a和b中,请考生编制一个函数jsVal(),实现的功能是依次对数组a和b中的数按条件重新组成一个新数并依次存入数组c中,再对数组c中的数按从小到大的顺序进行排序,最后调用输出函数writeDat()把结果c输出到
25、文件OUT.DAT中。组成新数的条件:如果数组a和b中相同下标位置的数必须符合一个是偶数,另一个是奇数,则数组a中的数按二进制数左移八位后再加上数组b对应位置上的数,把这样组成的新数依次存入数组c中。例如:a:12 33 24 15 21 b:32 35 17 15 18 c:6161 5394排序后:c:5394 6161注意:部分源程序存在文件PROG1.C文件中。程序中已定义:a100、b100 和c100。请勿改动数据文件IN1.DAT和IN2.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。void jsVal () int i,j
26、; int temp; for (i=0;i=MAX-1;i+) if (ai%2= =0) &(bi%2!=0)|(ai%2!=0)&(bi%2= =0) ci=(ai8)+bi; cnt+; for (i=0;iMAX-1;i+) for (j=0;jcj+1) temp=cj; cj=cj+1; cj+1=temp; 第15套已知数据文件IN.DAT中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中。请编制一函数jsValue(),其功能是:求出千位数上的数减百位数上的数减个位数上的数大于零的数的个数cnt,再把所有满足此条件的4位数依次存入数组b中,然后对数组b
27、的4位数按从小到大的顺序进行排序,最后调用写函数writeDat()把数组b中的数输出到OUT.DAT文件中。例如:9123,9-1-2-30,则该数满足条件,存入数组b中,且个数cnt=cnt+1.9812,9-8-1-20,则该数不满足条件,忽略。注意:部分源程序存放在PROG1.C中。程序中已定义数组:a300,b300,已定义变量:cnt。请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。void jsValue () int i,j; int a1,a2,a3,a4; int temp; for (i=0;i0) bcnt=ai; cnt+; for (i=0;icnt-1;i+) for (j=i+1;jbj)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1