1、计算机等级考试三级上机通用题库南开一百题2011年9月全国计算机等级考试三级上机试题【南开100题最新版】整数排序题题目1(整数排序题)在文件in.dat中有200个正整数,且每个数均在1000至9999之间。函数ReadDat()读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数依次存入数组bb中,如果后三位的数值相等,则按原先的数值进行降序排列。最后调用函数WriteDat()把结果bb输出到文件out.dat中。 例:处理前 6012 5099 9012 7025 8088 处理后 9012
2、 6012 7025 8088 5099 void jsSort() int i,j,data; for(i=0;i199;i+) for(j=i+1;jaaj%1000|aai%1000=aaj%1000&aaiaaj) data=aai;aai=aaj;aaj=data; for(i=0;i10;i+) bbi=aai;题目2 正整数排序在文件in.dat中有200个正整数,且每个数均在1000至9999之间。函数ReadDat()读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行降序排列,然后取出满足此条件的前10个数依次存入数组
3、b中,如果后三位的数值相等,则按原先的数值进行升序排列。最后调用函数WriteDat()把结果bb输出到文件out.dat中。例:处理前 9012 5099 6012 7025 8088 处理后 5099 8088 7025 6012 9012 void jsSort() int i,j,data; for(i=0;i199;i+) for(j=i+1;j200;j+) if(aai%1000aaj) data=aai;aai=aaj;aaj=data; for(i=0;i10;i+) bbi=aai;题目3(整数统计排序题) 已知数据文件IN.DAT中存有200个四位数,并已调用读函数rea
4、dDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该四位数连续大于该四位数以后的五个数且该数是奇数(该四位数以后不满五个数,则不统计),则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 void jsVal()int i,j,flag; for(i=0;iMAX-5;i+) for(j=i+1;jaj&ai%2) flag=1; else flag=0;break; if(flag=1) bcnt+=ai;
5、 for(i=0;icnt-1;i+) for(j=i+1;jbj) flag=bi;bi=bj;bj=flag;题目4(整数统计排序题)已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该四位数连续小于该四位数以后的五个数且该数是偶数(该四位数以后不满五个数,则不统计),则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 void jsVal
6、()int i,j,flag; for(i=0;iMAX-5;i+) for(j=i+1;j=i+5;j+) if(aiaj&ai%2=0) flag=1; else flag=0; break; if(flag=1) bcnt+=ai; for(i=0;icnt-1;i+) for(j=i+1;jbj) flag=bi;bi=bj;bj=flag;题目5(整数运算排序题)在文件in.dat中有200组数据,每组有3个数,每个数均是三位数。函数ReadDat()读取这200组数据存放到结构数组aa中,请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组中的第二个数大于
7、第一个数加第三个数的之和,其中满足条件的组数作为函数jsSort() 的返回值,同时把满足条件的数据存入结构数组bb中,再对bb中的数据按照每组数据的第二个数加第三个之和的大小进行降序排列(第二个数加第三个数的和均不相等),排序后的结果仍重新存入结构数组bb中,最后调用函数WriteDat()把结果bb输出到文件out.dat中。 int jsSort()int i, j, cnt=0; data ch; for(i=0;iaai.x1+aai.x3) bbcnt+=aai; for(i=0;icnt-1;i+) for(j=i+1;jcnt;j+) if(bbi.x2+bbi.x3bbj.x
8、2+bbj.x3) ch=bbi;bbi=bbj;bbj=ch; return cnt;题目6(整数各位统计排序题)已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:若一个四位数的千位数字上的值大于等于百位数字上的值,百位数字上的值大于等于十位数字上的值,以及十位数字上的值大于等于个位数字上的值,并且原四位数是奇数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的数输出到OUT.DAT文件中。 void jsV
9、al()int i,j,thou,hun,ten,data; for(i=0;i=hun&hun=ten&ten=data&ai%2) bcnt+=ai; for(i=0;icnt-1;i+) for(j=i+1;jbj) thou=bi;bi=bj;bj=thou;题目7(整数统计排序题)已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把一个四位数的千位数字上的值加上个位数字上的值恰好等于百位数字上的值加上十位数字上的值,并且原四位数是奇数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺
10、序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 void jsVal() int i,j,gw,sw,bw,qw; for(i=0;iMAX;i+) gw=ai%10; sw=ai/10%10; bw=ai/100%10; qw=ai/1000; if(qw+gw)=(sw+bw)&ai%2) bcnt+=ai; for(i=0;icnt-1;i+) for(j=i+1;jbj) qw=bi; bi=bj; bj=qw;题目8(整数排序题)下列程序的功能是:将一正整数序列K1,K2,.,K9重新排列成一个新的序列。新序列
11、中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面)。要求编写函数jsValue()实现此功能,最后调用writeDat()函数将新序列输出到文件out.dat中。 说明:在程序中已给出了10个序列,每个序列有9个正整数,并存入数组a109中,分别求出这10个新序列。 例:序列6,8,9,1,2,5,4,7,3 经重排后成为3,4,5,2,1,6,8,9,7 jsValue(int a109) int i,j,k,val,num; for(i=0;i10;i+) val=ai0; for(j=0;j9;j+) if(aij0;k-) aik=aik-1; ai0=num;
12、 题目9(整数各位数字运算排序题)已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:若一个四位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等于个位数字上的值,并且原四位数是偶数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 void jsVal()int i,j; int qw,bw,sw,gw; for (i=0;
13、iMAX;i+) qw=ai/1000; bw=ai%1000/100; sw=ai%100/10; gw=ai%10; if(qw=bw)&(bw=sw)&(sw=gw)&(ai%2=0) bcnt+=ai; for(i=0;icnt-1;i+) for(j=i+1;jbj) qw=bi;bi=bj;bj=qw;题目10(整数各位数运算排序题)已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足此条件的四位数依次存入数
14、组b中,然后对数组b的四位数按从大到小的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat文件。 例如:7153,7+1=5+3,则该数满足条件存入数组b中,且个数cnt=cnt+1。 8129,8+12+9,则该数不满足条件忽略。 jsValue() int i,j,qw,bw,sw,gw; for(i=0;i300;i+) qw=ai/1000; bw=ai/100%10; sw=ai%100/10; gw=ai%10; if(qw+bw=sw+gw) bcnt+=ai; for(i=0;icnt-1;i+) for(j=i+1;jcnt;j+) if(bibj)
15、qw=bi;bi=bj;bj=qw;题目11 (整数各位数运算及排序题)在文件in.dat中有200组数据,每组有3个数,每个数均是三位数。函数ReadDat()读取这200组数据存放到结构数组aa中,请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组中的第一个数大于第二个数加第三个数的和,其中满足条件的组数作为函数jsSort()的返回值,同时把满足条件的数据存入结构数组bb中,再对bb中的数据按照每组数据的第一个数加第三个之和的大小进行升序排列(第一个数加第三个数的和均不相等),排序后的结果仍重新存入结构数组bb中,最后调用函数writeDat()把结果bb输出
16、到文件out.dat中。int jsSort() int i,j,cnt=0; data xy; for(i=0;i(aai.x2+aai.x3) bbcnt+=aai; for(i=0;icnt-1;i+) for(j=i+1;jbbj.x1+bbj.x3) xy=bbi; bbi=bbj; bbj=xy; return cnt;*整数统计运算题题目12整数统计运算题)已知在文件IN.DAT中存有若干个(个数200)四位数字的正整数,函数ReadDat()读取这若干个正整数并存入数组xx中。请编制函数CalValue(),其功能要求:1、求出这文件中共有多少个正整数totNum;2、求这些数
17、右移1位后,产生的新数是偶数的数的个数totCnt,以及满足此条件的这些数(右移前的值)的算术平均值totPjz,最后调用函数writeDat()把所求的结果输出到文件OUT.DAT中。 void CalValue(void)int i,data;for(i=0;i0) totNum+; data=xxi1; if(data%2=0)totCnt+;totPjz+=xxi; if(totCnt=0) totPjz=0; else totPjz/=totCnt;题目13(整数统计运算题)已知在文件IN.DAT中存有若干个(个数200)四位数字的正整数,函数ReadDat()读取这若干个正整数并存
18、入数组xx中。请编制函数CalValue(),其功能要求:1、求出这文件中共有多少个正整数totNum;2、求这些数中的各位数字之和是偶数的数的个数totCnt,以及满足此条件的这些数的算术平均值totPjz,最后调用函数writeDat()把所求的结果输出到文件OUT.DAT中。 void CalValue(void) int i,qw,bw,sw,gw; for(i=0;i0) totNum+; qw=xxi/1000; bw=xxi/100%10; sw=xxi%100/10; gw=xxi%10; if(qw+bw+sw+gw)%2=0) totCnt+; totPjz+=xxi; i
19、f(totCnt=0) totPjz=0; else totPjz/=totCnt;题目14(整数统计运算题)已知在文件IN.DAT中存有若干个(个数200)四位数字的正整数,函数ReadDat()读取这若干个正整数并存入数组xx中。请编制函数CalValue(),其功能要求:1、求出这文件中共有多少个正整数totNum;2、求这些数中的各位数字之和是奇数的数的个数totCnt,以及满足此条件的这些数的算术平均值totPjz,最后调用函数writeDat()把所求的结果输出到文件OUT.DAT中。 void CalValue(void) int i ,qw,bw,sw,gw; for(i=0;
20、i0) totNum+; qw=xxi/1000; bw=xxi/100%10; sw=xxi%100/10; gw=xxi%10; if(qw+bw+sw+gw)%2) totCnt+; totPjz+=xxi; if(totCnt=0) totPjz=0; else totPjz/=totCnt;题目15(整数统计运算题)已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把一个四位数的千位数字上的值减去百位数字上的值再减去十位数字上的值最后减去个位数字上的值,如果得出的值大于等于零且原四位数是奇数,
21、则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 注意:部分源程序存在文件prog1.c中。 程序中已定义数组:a200,b200,已定义变量:cnt 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。void jsVal()int i,j,thou,hun,ten,data; for(i=0;i=0&ai%2) bcnt+=ai; for(i=0;icnt-1;i+) for(j=i+1;jbj
22、) thou=bi; bi=bj;bj=thou;题目16(整数统计运算题)已知在文件IN.DAT中存有若干个(个数200)四位数字的正整数,函数ReadDat()读取这若干个正整数并存入数组xx中。请编制函数CalValue(),其功能要求:1、求出这文件中共有多少个正整数totNum;2、求这些数右移1位后,产生的新数是奇数的数的个数totCnt,以及满足此条件的这些数(右移前的值)的算术平均值totPjz,最后调用函数writeDat()把所求的结果输出到文件OUT.DAT中。 void CalValue(void)int i,data;for(i=0;i0) totNum+; data
23、=xxi1; if(data%2)totCnt+;totPjz+=xxi; if(totCnt=0) totPjz=0; else totPjz/=totCnt;题目17(整数统计运算题)请编制程序prog1.c,从文件in.dat中读取200个整数至数组xx中,求出奇数的个数cnt1和偶数的个数cnt2以及数组xx下标为偶数的元素值的算术平均值pj(保留2位小数)。sum=0; pj=0.0; cnt1=cnt2=0; for(i=0;iN;i+) if(xxi%2) cnt1+; else cnt2+; if(i%2=0) pj+=xxi;sum+; pj/=sum;题目18(整数统计运算
24、题)请编制程序prog1.c,从文件IN.DAT中读取200个整数至数组xx中,求出最大数max及最大数的个数cnt和数组xx中能被3整除或能被7整除的算术平均值pj(保留2位小数)。 cnt=0; max=xx0; pj=0.0; n=0; for(m=0;mN;m+) if(maxxxm) max=xxm; for(m=0;mN;m+) if(xxm=max) cnt+; if(xxm%3=0|xxm%7=0) pj+=xxm; n+; pj/=n;题目19(整数统计运算题)请编制程序prog1.c,从文件in.dat中读取200个整数至数组xx中,求出奇数的个数cnt1和偶数的个数cnt
25、2以及数组xx中值为偶数的算术平均值pj(保留2位小数)。 结果cnt1,cnt2,pj输出到out.dat中。 cnt1=0; cnt2=0; pj=0.0; for(m=0;m0,则该数满足条件存入数组b中,且个数cnt=cnt+1。 9812,9-8-1-20,则该数不满足条件忽略。 jsValue() int i,j,qw,bw,sw,gw; for(i=0;i0) bcnt+=ai; for(i=0;icnt-1;i+) for(j=i+1;jbj) qw=bi; bi=bj; bj=qw;题目21(整数各位数字运算题 )已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加个位数上的数等于百位数上的数加十位数上的数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat文件。 例如:6712,6+2=7+1,则该数满足条件存入数组b中,且个数cnt=cnt+1。 8129,8+91+2,则该数不满足条件忽略jsValue()int i,qw,bw,sw,gw,j; fo
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1