首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件in55.dat中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数JsValue(),其功能是:求出千位数上的数减百位数上数减十位数上的数减个位数上的数大于零的个数cnt,再求出所有满足此条件的4位数平均值
已知数据文件in55.dat中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数JsValue(),其功能是:求出千位数上的数减百位数上数减十位数上的数减个位数上的数大于零的个数cnt,再求出所有满足此条件的4位数平均值
admin
2009-02-19
35
问题
已知数据文件in55.dat中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数JsValue(),其功能是:求出千位数上的数减百位数上数减十位数上的数减个位数上的数大于零的个数cnt,再求出所有满足此条件的4位数平均值pjz1,以及所有不满足此条件的4位数平均值pjz2,最后调用函数writeDat()把结果cnt,pjz1,pjz2输出到out55.dat文件中。
例如:9123,9-1-2-3>0,则该数满足条件,计算平均值pj21,且个数cnt=cnt+1。
9812,9-8-1-2<0,则该数不满足条件,计算平均值pjz2。
注意:部分源程序已给出。
程序中已定义数组:a[300],已定义变量:cnt。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
试题程序:
#include
int a[300], cnt=0;
double pjz1=0.0,pjz2=0.0;
jsValue()
{
}
main()
{
int i;
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("in55.dat","r");
for(i=0;i<300;i++)
fscanf(fp,”%d,”,&a
);
fclose(fp);
}
writeDat()
{
FILE*fp;
int i;
fp=fopen("out55.dat","N");
fprintf(fp,"%d\n%7.2lf\n%7.2lf\n",cnt ,pjz1,pjz2);
fclose(fp);
}
选项
答案
jsvalue() { 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++; /*统计满足条件的数的个数*/ pjz1+=a[i]; /*将满足条件的数求和*/ } else { n++; /*统计不满足条件的数的个数*/ piz2+=a[i]; /*将不满足条件的数求和*/ } } pjz1/=cnt; /*求满足条件的数的平均值*/ pjz2/=n; /*求不满足条件的数的平均值*/ }
解析
本题考查的知识点如下:
(1)将4位数各位上的数拆分为独立的数字。
(2)循环结构的使用。
在本题中,首先要将4位数各位上的数字拆分为独立的数字。这要借助运算符“%”(取余)与“/”(整除)。将一个4位数整除1000则可得到其千位上的数字,除以1000取余再整除100则可得百位上的数字,除以100取余再整除10则可得十位上的数字,除以10取余则得个位上的数字。求得各位上的数字后,就可以进行比较了。
转载请注明原文地址:https://kaotiyun.com/show/dOcZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
扫描仪种类比较多,目前常见的家用扫描仪一般具有下面______特征。①感光器件为CCD②感光器件为光电倍增管③扫描幅面一般为A4④接口一般采用USB⑤扫描精度一般可以达到1200×2400dpi以
计算机合成语音就是让计算机模仿人把一段文字朗读出来,这个过程称为文语转换,其英文缩写是
计算机中“处理器”的基本功能是:从存储器中取出指令,按指令的要求,对数据进行算术或逻辑运算,并把运算结果留在处理器中或送回存储器。下面关于处理器的叙述中,不正确的是( )。 ①处理器主要由运算器和控制器组成,它包含若干“寄存器”,用来临时存放数
ARM处理器在大端模式下,如果R0=1,R1=0xFF,而指令LDRR2,[R1,R0]执行后,R2的数据为0xAABBCCDD,内存0x00000100中的数据为___________【49】,0x00000103中的数据为___________【50
I2C总线被启动后,多个主机在每发送一个数据位时都要对SDA信号线电平进行检测,只要检测的电平与自己发出的电平__________【63】就会继续占用总线。总线控制遵循的原则是谁先发送__________【64】电平谁就会掌握对总线的控制权。
μCOS—Ⅱ操作系统的下面4个主要函数中,只有一个是与任务调度相关的,它是()。
引导加载程序在引导加载操作系统时,设置相关的寄存器和资源,跳转到【73】所在的空间,执行其引导,这个过程中可以给【74】传递参数,可以控制系统启动的模式。
如存储器的工作频率为333MHz,数据线宽度为32位,每个周期传输1次数据,则存储器的带宽=【63】MB/s。若存储器总线采用串行总线,以10位为一个数据帧(包含一个字节的存储数据),则总线带宽=总线频率/【64】。
若某嵌入式系统的应用程序基于μC/OS—Ⅱ操作系统平台来开发,那么,应用程序的main()函数中,需要用函数【79】来创建任务。创建任务前用函数【80】来初始化μC/OS—Ⅱ。
在μC/OS-Ⅱ操作系统下,处于运行态的任务调用系统函数OSTaskDel()后将转入()。
随机试题
A.国家药品监督管理部门B.省级药品监督管理部门C.省以上药品监督管理部门D.设区的市药品监督管理部门E.直辖市设的县药品监督管理部门负责组织GSP认证
已知单代号网络计划中某工作ES=4d,EF=6d,LS=7d,LF=9d,则该工作的总时差为( )d。
如果公式中使用了相对引用的单元格,当公式被复制到同一工作表的其他位置时,公式的值不变。()
下列关于统计数据收集和分析的各项表述中,( )是不准确的。
下列哪种情况属于超卖状态?( )
根据保险法律制度的规定,下列属于保险人可以单方解除合同的情形有()。
大学规章规定了两个管理机构的权力:理事会——由大学所有在世的校友组成——拥有对有关章程事务的权力;以及由20名成员组成的评议会,通过投票以多数方式决定日常事务。一个新的建议提出,评议会可经全体一致的投票而改变大学章程。假如上面的语句是正确的,基于
在考生文件夹下有一个数据库文件“samp3.accdb”,其中存在已经设计好的表对象“tAddr”和“tLIser”,同时还有窗体对象“fEdit”和“fEuser”。请在此基础上按照以下要求补充“fEdit”窗体的设计。将窗体中名称为“Lremark
Studyhard,______youwillfailinthefinalexamination.
Hooperstartedthecarand______itoutoftheparkingplace.
最新回复
(
0
)