首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件in81.dat中存有300个4位数,并已调用函数readDat()把这些数存入数组a中,请编制一函数isValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数 cnt,再求出所有满足此条件的4位数的平均值
已知数据文件in81.dat中存有300个4位数,并已调用函数readDat()把这些数存入数组a中,请编制一函数isValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数 cnt,再求出所有满足此条件的4位数的平均值
admin
2010-06-17
47
问题
已知数据文件in81.dat中存有300个4位数,并已调用函数readDat()把这些数存入数组a中,请编制一函数isValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数 cnt,再求出所有满足此条件的4位数的平均值pjz1,以及所有不满足此条件的4位数的平均值pjz2,最后调用函数writeDat()把结果cnt,pjz1,pjz2输出到out81.dar文件。
例如:7153,7+1=5+3,则该数满足条件,计算平均值pjz1,且个数cnt=cnt+1。
8129,8+1≠2+9,则该数不满足条件计算平均值pjz2。
注意:部分源程序已给出。
程序中已定义数组:a[300],b[300],已定义变量:cnt,pjz1,pjz2。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
试题程序:
#include<stdio. h>
int a[300], cnt=0;
double pjz1=0.0,pjz2=0.0;
void jsValue()
{
}
main ( )
{
int i;
readDat();
jsValue();
writeDat();
printf ("cnt=%d\n 满足条件的平均值pjz1=%7.21f\n 不满足条件的平均值
pjz2=%7.21f\n",cnt,pjz1,pjz2);
}
readDat()
{
FILE *fp;
int i;
fp=fopen( "in81.dat","r");
for(i=0;i<300;i++)
fscanf(fp,"%d,",&a
);
fclose(fp);
}
writeDat()
{
FILE *fp;
int i;
fp=fopen("outSl.dat","w");
fprintf(fp,"%d\n%7.21f\n%7.21f\n",cnt ,pjz1,pjz2);
fclose(fp);
}
选项
答案
void 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) /*如果千位数加百位数等于十位数加个位数*/ { cnt++; /*统计满足条件的数的个数*/ piz1+=a[i]; /*将满足条件的数求和*/ } else { n++; /*否则统计不满足条件的数的个数*/ pjz2+;a[i]; /*将不满足条件的数求和*/ } } pjz1/=cnt; /*求满足条件的数的平均值*/ pjz2/=n; /*求不满足条件的数的平均值*/ }
解析
本题考查的知识点如下:
(1)特殊运算符“%”及“/”的使用。
(2)循环结构及选择结构的使用。
在本题中,首先要将一个4位数的千位、百位、十位、个位拆成独立的数字。这里借助特殊运算符号“%”——取余和“/”——整除,拆分方法略。然后判断“千位数+百位数=十位数+个位数”。依次求得符合条件的数的个数及其平均值。
转载请注明原文地址:https://www.kaotiyun.com/show/dIvZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
下面的选项中与实时系统无必然联系的属性是()。
Linux内核主要由5个子系统组成,下面选项中不属于这5个子系统的是()。
假设一台数码相机一次可连续拍摄24位色(真彩色)的4096×4096的彩色相片160张,数据压缩比平均是4,则它使用的存储器容量大约是()。
关于ARM处理器的工作模式,以下说法错误的是()。
μC/OS—II操作系统启动的过程中,Bootloader执行完毕后,调用应用程序主文件(通常是main.c)里的main()函数。main()函数在执行过程中,除了用户函数和硬件初始化函数之外,需要执行以下三个主要的μC/OS—II函数:I.OSS
在ARM汇编语言程序设计中常有子程序设计,下面指令中不属于子程序调用或者返回的指令是()。
已知内存0x80000000中的内容为0x33,0x80000001中的内容为0x31,0x80000002中的内容为0x30,0x80000003中的内容为0x32,则ARM在大端模式下地址0x80000000所指示的一个字为()。
已知内存单元0x60000000~0x60000003以小端模式存放一个32位数据0x32303134,R1=0x60000000,R0=0,执行ARM指令LDRHR0,[R1]之后,R0的值为()。
ARM处理器当前运算操所产生的标志位记录在以下()寄存器中?
如果一棵二叉树结点的前序序列是A,B,C,后序序列是C,B,A,则该二叉树结点的对称序序列
随机试题
下列哪项不是睡眠时的生理变化()。
12岁男孩,患右侧腹股沟斜疝3年。最恰当的手术方式为
辛温解表药中具有散风寒、通鼻窍功效的药物是
土地权属调查的基本单元是()。
在OSI七层协议中,介于运输层租数据链路层之间的是()。
下列不属于严重职业病的是()。
【背景资料】某施工单位承接了北方沿海地区某高速公路B合同段施工任务,该段有一座36m×40m的预应力混凝土简支箱梁桥,合同工期为15个月;采用长度为40~50m、直径为φ1.5m的桩基础,桥位处地层土质为亚黏土;下部结构为圆柱式墩、直径为φ1.3m,柱顶
2014年3月11日,甲公司签发一张商业汇票,收款人为乙公司,到期日为2014年9月11日,甲公司的开户银行P银行为该汇票承兑。2014年6月30日,乙公司从丙公司采购一批货物,将该汇票背书转让给丙公司,丙公司9月30日持该汇票到其开户银行Q银行办理委托收
“知道活化能的涵义及其对化学反应速率的影响”是《普通高中化学课程标准(实验)》中的一个内容标准,该内容所属的高中化学课程模块是()。
许多州议会正在考虑建议,大意为某些政策不应当由议会自身决定,而应由每个投票者都参与的全民投票决定。对这些建议的批评者争辩说,公众全民投票的结果会是偏袒的,因为富人特殊利益集团能够通过电视广告影响投票者的观点。以下哪一个如果正确,最能支持批评者的论述?(
最新回复
(
0
)