首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件in55.dat中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数减百位数上数减十位数上的数减个位数上的数大于零的个数 cnt,再求出所有满足此条件的4位数平均
已知数据文件in55.dat中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数减百位数上数减十位数上的数减个位数上的数大于零的个数 cnt,再求出所有满足此条件的4位数平均
admin
2009-02-24
36
问题
已知数据文件in55.dat中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数减百位数上数减十位数上的数减个位数上的数大于零的个数 cnt,再求出所有满足此条件的4位数平均值pjz1,以及所有不满足此条件的4位数平均值pjz2,最后调用函数wfiteDat()把结果cnt,pjz1,pjz2输出到out55.dat文件中。
例如:9123,9-1-2-3>0,则该数满足条件,计算平均值pjz1,且个数cnt=cnt+1。
9812,9-8-l-2<0,则该数不满足条件,计算平均值pjz2。
程序中已定义数组:a[300],已定义变量:cnt。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
试题程序:
#include<stdio.h>
int a[300], cnt=0;
double pjzl=0.0,pjz2=0.0;
jsValue( )
{
}
main ( )
{
int ;
readDat();
jsValue();
writeDat();
printf ("cnt=%d\n 满足条件的平均值pj z1=%7.21f\n 不满足条伯的平均值
pjz2=%7.21f\n",cnt,pjzl,pjz2);
}
readDat ( )
{
FILE *fp;
int i;
fp=fopen ("in55.dat", "r");
for (i=0;i<300; i++)
fscanf (fp, "%d, ", &a Iii );
fclose (fp);
}
writeDat ()
{
FILE *fp;
int i;
fp=fopen ("out55.dat", "w");
fprintf(fp,"%d\n%7.21f\n%7-21f\n",cnt ,pjzl,pjz2);
fclose (fp);
}
选项
答案
jsVa lue ( ) { 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 (thou-hun-ten-data>O) /*如果千位数字减百位数字减十位数字减个位数字大于零*/ { cnt++; /*统计满足条件的数的个数*/ pjzl+=a [i]; /*将满足条件的数求和*/ } else { cnt++; /*统计不满足条件的数年个数*/ pjz2+=a [i]; /*将不满足条件的数求和* / } } pjz1/=cnt; /*求满足条件的数的平均值*/ Djz2/=n; /*求不满足条件的数的平均值* / }
解析
本题考查的知识点如下:
(1)将4位数各位上的数拆分为独立的数字。
(2)循环结构的使用。
在本题中,首先要将4位数各位上的数字拆分为独立的数字。这要借助运算符“%” (取余)与“/” (整除)。将一个4位数整除1000则可得到其千位上的数字,除以1000取余再整除100则可得百位上的数字,除以100取余再整除10则可得十位上的数字,除以10取余则得个位上的数字。求得各位上的数字后,就可以进行比较了。
转载请注明原文地址:https://kaotiyun.com/show/JRYZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
下面列出的条目中,哪一条是数据仓库的基本特征?Ⅰ.数据仓库是面向主题的Ⅱ.数据仓库的数据是集成的Ⅲ.数据仓库的数据是相对稳定的Ⅳ.数据仓库的数据是反映历史变化的
保持事务的原子性是数据库管理系统中哪一个部件的责任?
在DBMS中建立DBMS的系统缓冲区,系统工作区,打开数据字典的工作在【】程序模块中完成。
下列关于Oracle数据库的叙述中,哪一条是不正确的?
两阶段封锁协议中,“两段”的含义是,事务分为两个阶段,第一阶段是获得封锁,第二阶段是【】。
在使用基于优先数的不可抢占式进程调度算法的系统中,不会引起进程切换的事件恳()。
在数据库技术中,实体—联系模型是一种
在UML模型中,用于表达一系列的对象、对象之间的联系以及对象间发送和接收消息的图是____________。
设在采用SQLServer2008数据库的图书馆应用系统中有三个基本表,表结构如下所示,请用SQL语句完成下列两个查询:检索借书和王丽同学所借图书中的任意一本相同的学生姓名、系名、书名和借书日期。
在SQLServer2008中,设logl是SQLServer身份验证模式的数据库服务器登录帐户。现要授予log1具有创建数据库的权限,请补全下列语句:EXECsp_addsrvrolemember’log1’,’_______’。
随机试题
A、Theresortcenter.B、TheWeatherBureau.C、TheJusticeDepartment.D、TheTransportMinistry.D新闻中提到,日本交通运输部已经展开调查。
下面关于线程的叙述中,正确的是()
A、 B、 C、 D、 B
A.给氧、止痛B.先就地抢救,待情况稳定后转院C.呼叫120,由车上急救人员陪送医院D.取半坐位,保持呼吸道通畅E.途中密切观察病情变化细菌性食物中毒应用哪种检查方法
对经纪融资回购业务,融资方结算参与人应将自己证券账户中的债券作为质押券向中国结算公司提交,并以自己的名义与中国结算公司建立质押关系。()
上海证券交易所仍维持原状,规定国债、企业债折成的标准券不可合并计算,要区分国债回购和企业债回购。()
()领导全国公安机关的督察工作,负责对公安部所属单位和下级公安机关及其人民警察依法履行职责、行使职权和遵守纪律的情况进行监督,对公安部部长负责。
婆罗门教的经典和主要教义。
下列选项中,属于对象认识错误的是()
Jaguar
最新回复
(
0
)