[计算机类试卷]国家三级信息管理技术机试模拟试卷27及答案与解析.doc

上传人:towelfact221 文档编号:494952 上传时间:2018-11-28 格式:DOC 页数:4 大小:28KB
下载 相关 举报
[计算机类试卷]国家三级信息管理技术机试模拟试卷27及答案与解析.doc_第1页
第1页 / 共4页
[计算机类试卷]国家三级信息管理技术机试模拟试卷27及答案与解析.doc_第2页
第2页 / 共4页
[计算机类试卷]国家三级信息管理技术机试模拟试卷27及答案与解析.doc_第3页
第3页 / 共4页
[计算机类试卷]国家三级信息管理技术机试模拟试卷27及答案与解析.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、国家三级信息管理技术机试模拟试卷 27及答案与解析 一、程序设计题 1 已知数据文件 IN27.DAT中存有 300个 4位数,并已调用读函数 readDat()把这些数存入数组 a中,请编制一函数 jsValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数 cnt,再把所有满足此条件的 4位数依次存入数组 b中,然后对数组 b的 4位数从大到小进行排序,最后调用写函数writeDat()把数组 b中的数输出到 OUT27.DAT文件。 例如: 7153, 7+1 5+3,则该数满足条件, 存入数组 b中,且个数 cnt=cnt+1。 8129, 8+12

2、+9,则该数不满足条件,忽略。 注意:部分源程序已给出。 程序中已定义数组; a300, b300,已定义变量: cnt。 请勿改动主函数 main()、读函数 readDat()和写函数 writeDat()的内容。 试题程序: #include stdio.h int a300, b300, cnt=0; void jsValue ( ) main ( ) int i; readDat ( ); jsValue ( ); writeDat (); printf(“cnt=%dn“, cnt); for(i = 0; i cnt; i+) printf(“b%d=%dn“, i, bi);

3、readDat ( ) FILE *fp; int i; fp = fopen(“IN27.DAT“, “r“); for(i = 0; i 300; i+) fscanf(fp, “%d,“, fclose (fp); writeDat ( ) FILE *fp; int i; fp = fopen(“OUT27.DAT“, “w“); fprintf (fp, “%dn“,cnt); for(i = 0; i cnt; i+) fprintf(fp, “%d,n“, bi); fclose (fp); 国家三级信息管理技术机试模拟试卷 27答案与解析 一、程序设计题 1 【正确答案】 vo

4、id jsValue ( ) int i, thou, hun, ten, data, j; for (i=0; i 300; i+) thou =a i/1000; /*求千位数字 */ hun=a i %1000/100; /*求百位数字 */ ten=a i %100/10; /*求十位数字 */ data=a i %10; /*求个位数字 */ if (thou+hun=data+ten) /*如果千位数字加百位数等于十位数加个位数 */ b cnt =a i; /*把满足条件的 4位数依次存入数组 b中 */ cnt+ +; /*计算满足条件的数的个数 */ for (i=0; i

5、cnt-1; i+) /*对数组 b的 4位数从大到小进行排序 */ for (j=i+1; j cnt; j+) if (bi bj ) data=bi; bi=bj; bj =data; 【试题解析】 根据题意可知,函数 jsValue )用于实现两个功能,一是找出满足条件的数,并存放在数组 b中;二是对数组 b中的 数进行从大到小的排序。首先来找出 “千位数上的数加上百位数上的数等于十位数上的数加上个位数上的数 ”的 4位数。利用一个 for循环来不断从数组 a中取出 4位数,并对取出的数进行条件判断。由于这里涉及到要对 4位数的每一位进行判断,因此, “thou=ai/1000;hun=ai%1000/100; ten=ai%100/10; data=ai%10, ”这 4条语句就可以得到当前被判断的 4位数的千位数、百位数、十位数及个位数。之后,执行条件判断语句 “if(thou+hun=data+ten)”,并把满足条件的 4位数存入数组 b中。变量 cnt用来统计满足条件的数的个数。将所有满足条件的数取出后利用选择法对其进行排序,即拿当前元素依次和它后面的元素进行比较,发现有大于该数的,就将这两个数进行交换。最终数组 b的元素就是有序存放的。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1