首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件IN.dat中存有300个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数diffVal(),其功能是:求出个位数上的数减千位数上的数减百位数上的数减十位数上的数大于0的个数count,再求出所有满足此条件的四位数的平均值A
已知数据文件IN.dat中存有300个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数diffVal(),其功能是:求出个位数上的数减千位数上的数减百位数上的数减十位数上的数大于0的个数count,再求出所有满足此条件的四位数的平均值A
admin
2010-09-05
25
问题
已知数据文件IN.dat中存有300个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数diffVal(),其功能是:求出个位数上的数减千位数上的数减百位数上的数减十位数上的数大于0的个数count,再求出所有满足此条件的四位数的平均值Ave1,以及不满足此条件的四位数平均值Ave2。最后调用写函数Wdata(),把结果输出到OUT.dat文件中。
例如,1239,9-1-2-3>0,则该数满足条件,计算平均值Ave1,且个数count=count+1。 8129,9-8-1-2<0,则该数不满足条件,计算平均值Ave2。
注意:部分源程序已经给出。程序中已定义数组a[300],已定义变量count、Ave1、Ave2。请勿改动主函数main()、读函数Rdata()和写函数Wdata()的内容。
#include <stdio.h>
#int a[300], count = 0;
double Ave1 = 0.0, Ave2 = 0.0;
void diffVal()
{
}
void Rdata()
{ FILE *fp;
int i;
fp = fopen("IN. dat", "r");
for (i=0; i<300; i++)
fscanf(fp, "%d,", &a
);
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();
diffVal();
Wdata();
printf ("count=%d\n 满足条件的平均值 pzj 1=%7.2f\n 不满足条件的平均值pzj2=%7.2f\n", count, Ave1, Ave2);
}
选项
答案
void diffVal() { int i, thou, hun, ten, data, n = 0; 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 (data-thou-hun-ten>0) { count++; Ave1 += a[i]; } else { n++; Ave2 += a[i]; } } Ave1 /= count; Ave2 /= n; } [解题思路] 对于每一个四位数,用这个四位数除以1000,可得到这个四位数千位上的数字输给变量thou:这个四位数对1000求余然后再除以100,可得到这个四位数百位上的数字输给变量hun;这个四位数对100求余然后再除以10,可得到这个四位数十位上的数字输给变量ten;这个四位数对10求余,可得到这个四位数个位上的数字输给变量data。 然后判断表达式data-thou-hun-ten是否大于0,如果大于0,则计数变量count加1,同时把这个数加到变量Ave1上;否则计数变量n加1,同时把这个数加到变量Ave2上。退出循环后,变量Ave1的值除以count值就得到所有满足此条件的四位数的平均值,变量Ave2的值除以n值就得到所有不满足此条件的四位数的平均值。
解析
转载请注明原文地址:https://jikaoti.com/ti/pw97FFFM
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
在关系规范化过程中,要从1NF变成3NF,需要消除()。
数据库管理系统是位于用户和______系统之间的一个数据管理软件。
对于给出的一组权w={5,6,8,12},通过霍夫曼算法求出的扩充二叉树的带权外部路径长度为_____。
在SQL语言中,如果要为一个基本表增加列和完整性的约束条件,应该使用SQL语句_____。
以下关于顺序存储结构的叙述中,哪一条是不正确的?______。
某单道批处理系统中有四个作JOBl、JOB2、JOB3、JOB4,它们到达“输入井”的时刻和所需要的运行时间如下表所示。作业进入系统时间估计运行时间(分钟)JOB18:3080
若关系R和S的关系代数操作的结果如下,这是执行了()。[*]若关系R和S的关系代数操作的结果如下,这是执行了()。
下列问题的关系代数操作基于如下的关系R和S:
下列哪一个工具是Oracle数据库管理系统提供的CASE工具?
Oracle针对Internet/Intranet的产品是______。
随机试题
凸轮机构广泛地应用于自动机械和自动控制中。()
有关围绝经期,以下哪些是错误的
ARDS撤离呼吸机前
下列关于医院内感染的叙述,不正确的是
女性,16岁,双下肢重度浮肿1月。突然四肢厥冷、头晕10分钟来诊,尿量l00ml/d,体检:血压80/60mmHg(10.6/8kPa),颈静脉塌陷,血HBl6.0g/l,HCt0.381/L,SCrl50pmol/L,血白蛋白20g/L。患者最可能的诊断
民事诉讼中,当事人对自己提出的主张,有责任提供证据。根据我国的民事诉讼法以及相关的司法解释,下列关于证明责任的承担的说法哪些是正确的?()
中国公民王某就职于国内A上市公司,2013年收入情况如下:(1)1~8月份,王某每月获得工资8500元。(2)1月1日起将其位于市区的一套公寓住房按市价出租,每月收取租金6800元。1月因卫生间漏水发生修缮费用1200元,已取得合法有效
李阳这次考试成绩非常差,老师找他谈话时,他分析原因是因为近期喜欢上班里一个女生,上课开小差,所以学习不够努力。这种原因归因属于()。
设直线在平面π上,而平面π与曲面z=x2+y2相切于点(1,-2,5),则a,b的值是().
Therearevariouswaysinwhichindividualeconomicunitscaninteractwithoneanother.Threebasicwaysmaybedescribedasth
最新回复
(
0
)