三级信息管理技术机试-110.doc

上传人:scccc 文档编号:13194072 上传时间:2021-12-18 格式:DOC 页数:2 大小:20.50KB
返回 下载 相关 举报
三级信息管理技术机试-110.doc_第1页
第1页 / 共2页
三级信息管理技术机试-110.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《三级信息管理技术机试-110.doc》由会员分享,可在线阅读,更多相关《三级信息管理技术机试-110.doc(2页珍藏版)》请在三一文库上搜索。

1、三级信息管理技术机试 -110( 总分: 100.00 ,做题时间: 90 分钟 )一、上机题( 总题数: 1,分数: 100.00)1. 已知数据文件 in81.dat 中存有 300 个 4 位数,并已调用函数 readDat() 把这些数存入数组 a 中,请编制 一函数 jsVaiue() ,其功能是,求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个 数 cnt ,再求出所有满足此条件的 4 位数的平均值 pjz1 ,以及所有不满足此条件的 4 位数的平均值 pjz2 , 最后调用函数 writeDat() 把结果 cnt ,pjz1 , pjz2 输出到 out81.d

2、at 文件。例如; 7153, 7+1=5+3,则该数满足条件,计算平均值pjz1 ,且个数 cnt=cnt+1 。8129, 8+1工2+9,则该数不满足条件计算平均值pjz2。注意;部分源程序已给出。程序中已定义数组: a300 , b300 ,已定义变量: cnt , pjz1 , pjz2 。请勿改动主函数 main() 、读函数 readDat() 和写函数 writeDat() 的内容。试题程序:#include < stdio.h >int a300, cnt=0;double pjz1=0.0,pjz2=0.0;void jsValue() main()int i;

3、readDat();jsValue();writeDat();printf("cnt=%d/n 满足条件的平均值 pjz1=%7.2lf/n 不满足条件的平均值 pjz2=%7.2lf/n",cnt,pjz1,pjz2);readDat()FILE *fp;int i;fp=fopen( "in81.dat","r"); for(i=0;i < 300;i+) fscanf(fp,"%d,",&ai)fclose(fp);writeDat()FILE *fp;int i;fp=fopen("

4、out81.dat","w") fprintf(fp,"%d/n%7.2lf/n%7.2lf/n",cnt ,pjz1,pjz2); fclose(fp);分数: 100.00 ) 正确答案: (void jsValue()int i,thou,hun,ten,data,n=0;for(i=0;i v 300;i+)thou=ai/1000; /* 求四位数的千位数字 */ hun=ai%1000/100; /* 求四位数的百位数字 */ ten=ai%100/10; /* 求四位数的十位数字 */ data=ai%10; /* 求四位数的个位

5、数字 */ if(thou+hun=ten+data) /* 如果千位数加百位数等于十位数加个位数 */ cnt+; /* 统计满足条件的数的个数 */ piz1+=ai; /* 将满足条件的数求和 */elsen+; /* 否则统计不满足条件的数的个数 */ pjz2+=ai; /* 将不满足条件的数求和 */ pjz1/=cnt; /* 求满足条件的数的平均值 */pjz2/=n; /* 求不满足条件的数的平均值 */)解析: 解析 本题考查的知识点如下:(1) 特殊运算符“ %”及“/ ”的使用。(2) 循环结构及选择结构的使用。在本题中,首先要将一个 4 位数的千位、百位、十位、个位拆成独立的数字。 这里借助特殊运算符号“ %” 取余和“ / ”整除,拆分方法略然后判断“千位数+百位数 =十位数+个位数”。依次求得符合条件的数的个数及其平均值。

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

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


经营许可证编号:宁ICP备18001539号-1