首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件IN.dat中存有300个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数diffVal(),其功能是:求出个位数上的数减千位数上的数减百位数上的数减十位数上的数大于0的个数count,再求出所有满足此条件的四位数的平均值A
已知数据文件IN.dat中存有300个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数diffVal(),其功能是:求出个位数上的数减千位数上的数减百位数上的数减十位数上的数大于0的个数count,再求出所有满足此条件的四位数的平均值A
admin
2010-09-05
43
问题
已知数据文件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://www.kaotiyun.com/show/YuvZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
对于单个元组的操作是由数据库管理系统DBMS层次结构中的哪一层处理的?
设关系R和S的元数分别是r和s,则集合{t|t=<tr,ts>∧tr∈R∧ts∈S}标记的是
就绪队列中一旦出现高于当前运行进程的优先级的进程,就立即进行调度,转让CPU,这种调度方式称为
在包含1000个元素的线性表中实现如下各运算,哪一个所需的执行时间最长?
以下有关强迫性中断事件的叙述中,哪一个是不正确的______。
为方便用户开发数据库应用程序,Oracle提供了众多工具供用尸选择使用,如果要进行数据库建模,应使用的工具是()。
在数据库的三级模式体系结构中,存在两次映像,一次是从外模式到模式的映像,一次是______到______的映像。
关系模式R的码是______。R的规范化程度最高达到______。
图3-2文件系统目录文件采用链接结构,每个磁盘块放10个下级文件的描述信息,若下级文件为目录文件,则上级目录指向该目录的第一块,否则指向普通文件的文件控制块,每个目录下最多放10个下级文件,普通文件采用顺序结构,文件H共有15个磁盘块。若要读文件B/E,
在Internet提供的E-mail服务中,向邮件服务器发送电子邮件时一般使用_____协议。
随机试题
看到与自己水平差不多的人取得了成功,就相信自己也会取得成功。这属于影响个体自我效能感因素中的()。
外科感染的演变过程与下列哪项因素无关()
医院药学人员常用的文献检索系统中,检索医药文献最常用的是
患者,女,18岁,未婚。2个月来感觉消瘦、乏力,1个月来发现腹部增大迅速,原来的裤子全穿不下,而且月经稀少半年。妇科检查:腹部增大如足月妊娠大小,叩诊不满意。肛查:子宫大小正常,其余触诊不清。为鉴别巨大卵巢囊肿与腹腔积液,下列哪种辅助检查方法不适宜
按《建筑工程施工质量验收统一标准》的规定,依专业性质、建筑部位来划分的工程属于( )。
复合杠杆的作用在于( )。
抽样检验的检验由N个()组成。
《马关条约》中,清政府被迫割让给日本的领土是()。
下列关于标签的描述中,错误的是
ImpressionsofAmericaSanFranciscoisareallybeautifulcity.ChinaTown,peopledbyChineselabourers,isthemostartis
最新回复
(
0
)