上机题目分类.doc

上传人:pu****.1 文档编号:543959591 上传时间:2023-06-01 格式:DOC 页数:36 大小:256KB
返回 下载 相关 举报
上机题目分类.doc_第1页
第1页 / 共36页
上机题目分类.doc_第2页
第2页 / 共36页
上机题目分类.doc_第3页
第3页 / 共36页
上机题目分类.doc_第4页
第4页 / 共36页
上机题目分类.doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《上机题目分类.doc》由会员分享,可在线阅读,更多相关《上机题目分类.doc(36页珍藏版)》请在金锄头文库上搜索。

1、第一部分 数字问题 关于数字类型的题目,在上机考试中属于占比率最大的类型,平均抽中的比率保持在45%以上,所以是在应试复习中需要作为重点。本类型题目重点考查的算法是:排序,素数,数字拆分。具体分为6类讲解.一. 数字拆分排序问题本类型涉及到 6,11,12- 24、88 共15套,需要同学们加强练习。其中第11套,因涉及到数字移位属于本类型中比较难的题目。 例6. 在文件in.dat中有200个正整数,且每个数均在1000至9999之间。函数ReadDat()读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行降序排列,然后取出满足此条件

2、的前10个数依次存入数组b中,如果后三位的数值相等,则按原先的数值进行升序排列。最后调用函数WriteDat()把结果bb输出到文件out.dat中。例:处理前 9012 5099 6012 7025 8088处理后 5099 8088 7025 6012 9012注意:部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 -void jsSort() /*标准答案*/int I,j,data;for(I=0;I199;I+)for(j=I+1;j200;j+)if (aaI%1000aaj)data=aaI;aaI=aaj;aa

3、j=data;for(I=0;I10;I+)bbI=aaI;原程序如下:#include#include#includeint aa200,bb10;void jsSort()void main()readDat();jsSort();writeDat();system(pause);readDat()FILE *in;int i;in=fopen(in.dat,r);for(i=0; i200; i+) fscanf(in,%d,&aai);fclose(in);writeDat()FILE *out;int i;clrscr();out=fopen(out.dat,w);for(i=0;

4、i10; i+)printf(i=%d,%dn,i+1,bbi);fprintf(out,%dn,bbi);fclose(out);14:已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 依次从数组a中取出一个四位数,如果该数连续大于该四位数以后的5个数且该数是奇数, 则统计出满足此条件的个数cnt, 并把这些四位数按从小到大的顺序存入数组b中。 并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT

5、文件中。注意: 部分源程序存在文件PROG1.C文件中。程序中已定义数组: a200, b200, 已定义变量: cnt请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容void jsVal() /*标准答案*/int I,j,flag=0;int k;for(I=0;IMAX-5;I+)for(j=I+1;jaj)flag=1;else flag=0;break;if (aI%2=0)flag=0;if (flag=1)bcnt=aI; cnt+; for(I=0;Icnt-1;I+)for(j=I+1;jbj)k=bI;

6、bI=bj;bj=k;。45:已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 依次从数组a中取出一个四位数,如果该数连续大于该四位数以前的5个数且该数是偶数, 则统计出满足此条件的个数cnt, 并把这些四位数按从大到小的顺序存入数组b中。 并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。注意: 部分源程序存在文件PROG1.C文件中。程序中已定义数组: a200, b200, 已定义变

7、量: cnt请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容void jsVal() /*标准答案*/int I,j,flag=0;for(I=5;IMAX-5;I+)for(j=I-5;jaj)flag=1;else flag=0;if(aI%2!=0)flag=0;if (flag=0) break;if(flag=1) bcnt=aI;cnt+;for(I=0;Icnt-1;I+)for(j=I+1;jcnt;j+)if(bIbj)flag=bI;bI=bj;bj=flag;46:已知数据文件IN.DAT中存有200

8、个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 依次从数组a中取出一个四位数,如果该数连续大于该四位数以前的5个数且该数是奇数,但该数必须能被7整除。 则统计出满足此条件的个数cnt, 并把这些四位数按从大到小的顺序存入数组b中。 并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。注意: 部分源程序存在文件PROG1.C文件中。程序中已定义数组: a200, b200, 已定义变量: cnt请勿改动数据文件IN.DAT中的

9、任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。-void jsVal() /*标准答案*/int I,j,flag=0;for(I=5;IMAX-5;I+)for(j=I-5;jaj)flag=1;else flag=0;break;if (flag=1&aI%2=1&aI%7=0) bcnt=aI;cnt+;for(I=0;Icnt-1;I+)for(j=I+1;jcnt;j+)if(bIbj)flag=bI;bI=bj;bj=flag;48:已知数据文件IN.DAT中存有300个四位数,并已调用读函数READDAT()把这些数存入数组A中.请编制

10、一函数SVALUE(),其功能是:求出千位数上的数加个位数上的数等于百位数上的数加十位数上的数的个数CNT,再把所有满足条件的四位数依次存入数组bb中,然后对数组bb的四位数按从小到大的顺序进行排序,最后调用写函数WRITEDAT()把数组b中的数输出到OUT.DAT文件.例如:6712,6+2=7+1,则该数满足条件存入数组bb中,且个数CNT=CNT+1.8129,8+12+9,则该数不满足条件忽略.注意:部分源程序已给出。程序中已定义数组:a300,已定义变量:cnt请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。-void jsValue() /

11、*标准答案*/int I,thou,hun,ten,data,j;for(I=0;I300;I+)thou=aI/1000; hun=aI%1000/100;ten=aI%100/10; data=aI%10;if (thou+data=hun+ten)bcnt=aI;cnt+;for(I=0;Icnt-1;I+)for(j=I+1;jbj)data=bI; bI=bj; bj=data;49:已知数据文件IN.DAT中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsvalue(),其功能是:求出千位数上的数减百位数减十位数上的数减个位数上的数大于零的

12、个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数writeDat()把结果输出到OUT.DAT文件。 例如:9123,9-1-2-30,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。9812,9-8-1-20,则该数不满足条件计算平均值pjz2.注意:部分源程序已给出。程序中已定义数组:a300,已定义变量:cnt请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。-void jsValue() /*标准答案*/int I,thou,hun,ten,data,n=0;for(I=0;

13、I0)cnt+;pjz1+=aI;else n+;pjz2+=aI;pjz1/=cnt;pjz2/=n; 51:已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 把千位数字和十位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字), 以及把个位数字和百位数字组成另一个新的十位数 (新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字), 如果新组成的两个十位数均是素数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中, 并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。注意: 部分源程序存在文件PROG1.C文件中。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号