首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件IN.dat中存有200个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数NumCal(),其功能是:把一个四位数的千位数字上的值加上个位数字上的值恰好等于百位数字上的值加上十位数字上的值,并且原四位数是奇数,则统计出满足此
已知数据文件IN.dat中存有200个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数NumCal(),其功能是:把一个四位数的千位数字上的值加上个位数字上的值恰好等于百位数字上的值加上十位数字上的值,并且原四位数是奇数,则统计出满足此
admin
2010-09-05
41
问题
已知数据文件IN.dat中存有200个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数NumCal(),其功能是:把一个四位数的千位数字上的值加上个位数字上的值恰好等于百位数字上的值加上十位数字上的值,并且原四位数是奇数,则统计出满足此条件的个数count并把这些四位数按从小到大的顺序存入数组b中。最后调用写函数Wdata(),把结果count以及数组b中符合条件的四位数输出到OUT.dat文件中。
注意:部分源程序已经给出。程序中已定义数组a[200] b[200],已定义变量count。请勿改动数据文件IN.dat中的任何数据及主函数main()、读函数Rdata()和写函数Wdata()的内容。
#include <stdio.h>
#define MAX 200
int a[MAX], b[MAX], count = 0;
void NumCal ()
{
}
void Rdata ()
{ int i;
FILE *fp;
fp = fopen("IN. dat", "r");
for (i=0; i<MAX; i++)
fscanf(fp, "%d,", &a
);
fclose (fp);
}
void Wdata ()
{ FILE *fp;
int i;
fp = fopen("OUT. dat", "w");
fprintf(fp, "%d\n", count);
for (i=0; i<count; i++)
fprintf(fp, "%d\n", b
);
fclose (fp);
}
void main ()
{ int i;
Rdata ();
NumCal ();
printf("满足条件的数=%d\n", count);
for (i=0; i<count; i++)
printf("%d ", b
);
printf ("\n");
Wdata ();
}
选项
答案
void NumCal() { int i, thou, hun, ten, data, j; for (i=0; i<MAX; i++) { thou = a[i]/1000; hun = a[i]%1000/100; ten = a[i]%100/10; data = a[i]%10; if ((thou +data == hun +ten) && a[i]%2==1) { b[count] = a[i]; count++; } } for (i=0; i<count-1; i++) for (j=i+1; j<count; j++) if (b[i] >b[j]) { data = b[i]; b[i] = b[j]; b[j] = data; } } [解题思路] 对于每一个四位数,用这个四位数除以1000,可得到这个四位数千位上的数字输给变量thou;这个四位数对1000求余数然后再除以100,可得到这个四位数百位上的数字输给变量hun;这个四位数对100求余数然后再除以10,可得到这个四位数十位上的数字输给变量ten;这个四位数对10求余数,可得到这个四位数个位上的数字输给变量data。 然后判断表达式(thou+ data==hun+ ten) &&a[i]%2=1是否成立,如果成立,则把这个数赋给数组b,同时计数变量count加1。最后对数组b中元素进行从小到大的排序。
解析
转载请注明原文地址:https://kaotiyun.com/show/wuvZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
就绪队列中一旦出现高于当前运行进程的优先级的进程,就立即进行调度,转让CPU,这种调度方式称为
数据管理技术的发展经历了如下三个阶段:人工管理阶段、_____和数据库系统阶段。
一个关系模式为Y(X1,X2,X3,X4),假定该关系存在如下函数依赖:X1←→X2,X1→X3,X1→X4,则该关系属于【】。
有些关系模式存在插入、删除异常、修改复杂、数据冗余等问题,规范化就是为了解决这些问题,将1NF修改为2NF主要是()。
队列和栈分别是______、______的线性表结构。
某单道批处理系统中有四个作JOBl、JOB2、JOB3、JOB4,它们到达“输入井”的时刻和所需要的运行时间如下表所示。作业进入系统时间估计运行时间(分钟)JOB18:3080
PowerDesigner是SYBASE公司的产品,属于CASE工具,与PowerDesigner是SYBASE公司的产品还有【】、【】和【】。
在ISA联系中,子类的对象_____其超类的对象的全部属性和方法。
下面关于B和B+树的叙述中,不正确的是______。
若一棵二叉树中只有叶节点和左、右子树皆非空的节点,设叶节点的个数为1,则左、右子树皆非空的节点个数为【】。
随机试题
下列游戏不属于创造性游戏是()。
已知某国截至2009年底的外债余额为3000亿美元,该国当年国内生产总值为15000亿美元。请计算该国的外债负债率,并判断其外债负债率是否超过国际警戒线。
苯丙酮尿症患儿应严格给予无苯丙氨酸奶粉饮食治疗。
冠状动脉粥样硬化性心脏病外科治疗必须进行的辅助检查是
导致心率加快、传导加速、心肌收缩力加强的受体是促进胃肠运动的受体是
A、阻断中枢5-HT受体B、使突触间隙的NA浓度下降C、阻断中枢多巴胺D2受体D、抑制中枢PG合成E、抑制外周PG合成碳酸锂的作用机制是
证券交易所采用经纪制交易方式,投资者可以委托具有会员资格的证券经纪商在交易所内代理买卖证券,也可以自己买卖,通过公开竞价形成证券价格,达成交易。()
某产品可能出现A与B两种缺陷,如果出现缺陷A的概率是0.125,出现缺陷B的概率是0.08,缺陷A的发生与缺陷B的发生相互独立,则该产品无缺陷的概率是()。
按照《民用航空安全检查规则》,下列旅客中()可要求在非公开场合进行安检。
ThegrammaticalwordswhichplaysolargeapartinEnglishgrammarareforthemostpartsharplyandobviouslydifferentfrom
最新回复
(
0
)