首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件IN27.DAT中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数 cnt,再把所有满足此条件的4位数依次存入
已知数据文件IN27.DAT中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数 cnt,再把所有满足此条件的4位数依次存入
admin
2009-02-24
40
问题
已知数据文件IN27.DAT中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数 cnt,再把所有满足此条件的4位数依次存入数组b中,然后对数组b的4位数从大到小进行排序,最后调用写函数writeDat()把数组b中的数输出到OUT27.DAT文件。
例如:7153,7+1=5+3,则该数满足条件,存入数组b中,且个数cnt=cnt+1。
8129,8+1≠2+9,则该数不满足条件,忽略。
注意:部分源程序已给出。
程序中已定义数组:a[300],b[300],已定义变量:cnt。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
试题程序:
#include〈stdio.h>
int a[300], bi300], cnt=0;
void jsValue()
{
}
main ( )
{
int i;
readDat ();
jsValue();
writeDat ();
printf("cnt=%d\n", cnt);
for(i = 0; i 〈 cnt; i++)
printf("b[%d]=%d\n", i, b
);
}
readDat ( )
{
FILE *fp;
int i;
fp = fopen("IN27.DAT", "r");
for(i = 0; i 〈 300; i++)
fscanf(fp, "%d,", &a
fclose (fp);
}
writeDat ()
{
FILE *fp;
int i;
fp = fopen("OUT27.DAT", "w");
fprintf (fp, "%d\n",cnt);
for(i = 0; i 〈 cnt; i++)
fprintf(fp, "%d,\n", b
);
fclose (fp);
}
选项
答案
void jsValue() { int i,thou,hun,ten,data,j; 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==data+ten) /*如果千位数加百位数等于十位数加个位数*/ { b[cnt]=a[i]; /*把满足条件的4位数依次存入数组b中*/ cnt++; /*计算满足条件的数的个数*/ } } for(i=0;i〈cnt-1;i++) /*对数组b的4位数从大到小进行排序*/ for(j=i+1;j〈cnt;j++) if(b[i]〈b[j]) { data=b[i]; b[i]=b[j]; b[j]=data; } }
解析
根据题意可知,函数jsValue()用于实现两个功能:一是找出满足条件的数,并存放在数组b中:二是对数组b中的数进行从大到小的排序。首先来找出“千位数上的数加上百位数上的数等于十位数上的数加上个位数上的数”的4位数。利用一个for循环来不断从数组a中取出4位数,并对取出的数进行条件判断。由于这里涉及到要对4位数的每一位进行判断,因此,“thou=a
/1000;hun=a
%1000/100;ten=a
%100/10; dam=a
%10;”这4条语句就可以得到当前被判断的4位数的千位数、百位数、十位数及个位数。之后,执行条件判断语句“if(thou+hun==data+ten)”,并把满足条件的4位数存入数组b中。变量cnt用来统计满足条件的数的个数。将所有满足条件的数取出后利用选择法对其进行排序,即拿当前元素依次和它后面的元素进行比较,发现有大于该数的,就将这两个数进行交换。最终数组b的元素就是有序存放的。
转载请注明原文地址:https://kaotiyun.com/show/MRYZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
文件的存取方式与文件的物理结构有关,可能有如下的文件物理结构: Ⅰ.顺序结构 Ⅱ.线性结构 Ⅲ.链接结构 Ⅳ.索引结构 而常见的文件物理结构是
典型的局域网可以看成由以下三部分组成:网络服务器、工作站与________。
数学、力学、化学以及石油勘探、桥梁设计等领域都存在着复杂数学问题,需要利用计算机和数值方法求解,这一类应用属于下列()应用领域。
在顺序表(6,10,16,18,25,28,30,48,50,52)中,用二分查找法查找关键码值20,则需要进行关键码比较次数为【】。
若关系R和S的关系代数操作的结果如下,这是执行了
关系模型有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。定义外键实现的是哪(些)类完整性?()
在数据库管理系统中,下面哪个模块不是数据库存取的功能模块?
在TCP/IP参考模型中,不属于应用层协议的是
在TCP/IP参考模型中,不属于应用层协议的是
在公钥密码体制中,不公开的是 Ⅰ.公钥 Ⅱ.私钥 Ⅲ.加密算法
随机试题
为了完成输气站承担的各种生产任务,将输气站的设备、管线、仪器、仪表按一定的方案进行布置,这种布置方案称为()。
男,20岁,入学体检时作ECG检查,诊断预激综合征,因无症状未作处理。次年某日因突感心悸来我院门诊,ECG检查示预激综合征并发室上速(逆传型)
治疗盗汗常选配()
下列属于间叶组织良性肿瘤的是
该柱在某荷载效应组合下,初始偏心距ei=200mm。试问该柱在该组荷载作用下的偏心距增大系数η与( )项数值最为接近。柱正截面受压承载力计算中,已知该柱为小偏心受压。假定该框架柱偏心受压时有轴向压力设计值N=500kN,柱两端配有双肢箍φ8@150,
阅读材料,根据要求完成教学设计。“茎是由芽发育成的”的重点知识是叶芽的结构。植物的生长、发育与叶芽的结构息息相关,叶芽的结构是植物生长的基础。买际上,叶芽就是尚未展开的枝条(枝条:长有叶和芽的茎)。也就是说,茎是由叶芽发育的。只有弄清叶芽的结构,才能更好
材料:开学第一天,娄老师正要把新书发下,突然发现几本书因包装捆绑过紧,被勒出了深深的印迹。多年的班主任工作经验告诉娄老师,书不能轻易发下去,要把这个问题先解决。于是娄老师对同学们说:“这里有几本书因为包装运输的原因,留下一些印迹。”娄老师把一本书
孔子提出的“性相近也,习相远也”的思想中,“性”是指先天素质,“习”是指行为习惯。
某工厂仓库有一名保管员,该仓库可存放n箱零件。该工厂生产车间有m名工人,只要仓库空闲,工人将生产好的整箱零件放入仓库,并由保管员登记入库数量;该工厂销售部有k名销售员,只要仓库库存数能满足客户要求,便可提货,并由保管员登记出库数量。规定工人和销售员不能同时
Onthenightoftheplay,Albertwasatthehallearlyandhewasalreadymade-uplongbeforetheendofthefirstact.Hecerta
最新回复
(
0
)