三级数据库技术机试-193.doc

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

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

1、三级数据库技术机试 -193( 总分: 100.00 ,做题时间: 90 分钟 )一、上机题( 总题数: 1,分数: 100.00)1. 已知数据文件 IN.dat 中存有 300 个四位数,并已调用读函数 Rdata() 把这些数存入数组 a 中,请编写函 数 NumCal() ,其功能是: 求出千位上的数加个位上的数等于百位上的数加十位上的数的四位数的个数 count , 再求出所有满足此条件的四位数的平均值Avel,以及不满足此条件的四位数的平均值Ave2。最后调用写函数 Wdata() ,把结果输出到 OUT.dat 文件中。例如:6712,6+2=7+1,则该数满足条件,计算平均值A

2、ve1,且个数count=count+1。8129,8+9!=1+2,则该数不满足条件,计算平均值Ave2。注意:部分源程序已经给出。程序中已定义数组a300,已定义变量count、Avel、Ave2。请勿改动主函数 main() 、读函数 Rdata() 和写函数 Wdata() 的内容。#include < stdio. h >int a300, count = 0;double Ave1 = 0.0, Ave2 = 0.0;void NumCal () void Rdata()FILE *fp;int i;fp = fopen("IN. dat", &qu

3、ot;r");for (i=0; i <300; i+)fscanf( fp, "%d,", &ai;fclose (fp);void Wdata ()FILE *fp;fp = fopen("OUT. dat", "w");fprintf(fp, "%d/n%7.2f/n%7.2f/n", count, Ave1, Ave2);fclose (fp);main ()Rdata ();NumCal ( );Wdata ();printf ("count=%d/n 满足条件的平均值

4、Ave1=%7.2f/n 不满足条件的平均值 Ave2=%7.2f/n", count, Ave1, Ave2);分数: 100.00)正确答案: (void NumCal() int i, n = 0, thou, hun, ten, data;for (i=0; i v 300; i+) thou = ai/1000;hun = ai%1000/100;ten = ai%100/10;data = ai%10;if (thou+ data = hun+ ten) count+;Ave1 += ai;else n+;Ave2 += ai;Ave1 /= count;Ave2 /=

5、n;)解析: 解题思路 对于每一个四位数,用这个四位数除以1000,可得到这个四位数千位上的数字输给变量thou ;这个四位数对1000求余数然后再除以100,可得到这个四位数百位上的数字输给变量hun;这个四位数对 100求余数然后再除以 10,可得到这个四位数十位上的数字输给变量 ten ;这个四位数对 10求余 数,可得到这个四位数个位上的数字输给变量 data 。然后判断表达式thou+ data = =hun+ ten是否成立,如果成立,则计数变量count加1,同时把这个数加到变量 Ave1 上;否则计数变量 n 加 1,同时把这个数加到变量 Ave2 上。循环结束后,变量 Ave1 的值除以 count,就得到所有满足此条件的四位数的平均值Avel;变量Ave2的值除以n,就得到有不满足此条件的四位数的平均值 Ave2。

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

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


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