首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件IN.dat中存有200个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数NumCal(),其功能是:把一个四位数的千位数字上的值加上个位数字上的值恰好等于百位数字上的值加上十位数字上的值,并且原四位数是奇数,则统计出满足此
已知数据文件IN.dat中存有200个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数NumCal(),其功能是:把一个四位数的千位数字上的值加上个位数字上的值恰好等于百位数字上的值加上十位数字上的值,并且原四位数是奇数,则统计出满足此
admin
2010-09-05
53
问题
已知数据文件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全国计算机三级
相关试题推荐
基于如下两个关系,其中雇员信息表关系EMP的主码是雇员号,部门信息表关系DEPT的主码是部门号。
下列术语中,哪一个属于数据库三级模式结构中的内模式?
设有关键码序列(Q,G,M,Z,A,N,B,P,X,H,Y,S,T,L,K,E),采用堆排序法进行排序,经过初始建堆后关键码值A在序列中的序号是
在计算机数据处理过程中,外存储器直接和______交换信息。
Atmstrong公理系统中有一条推理规则为:若X→Y为F所逻辑蕴涵,且,则XZ→YZ为F所逻辑蕴涵。这条推理规则称作【】。
数据流图是数据库系统设计过程中______阶段完成的。
事务在运行过程中由于某种原因,事务在正常终止之前就被撤销,这种现象称为______。
用值域的概念来定义关系,关系是属性值域笛卡尔积的一个______。
以下关于顺序存储结构的叙述中,哪一条是不正确的?______。
在逻辑结构设计中,关系已达到规范化,但因某些属性过多时,可将它分为两个或多个关系模式,这叫做
随机试题
A.美国波士顿麻省综合医院B.中国北京协和医院C.美国圣.玛丽医院D.澳大利亚阿夫列德王子医院E.美国新泽西州医院第一所授予病案学士学位的单位是
各种感觉的再现是__________。
Thecommitteeistotallyopposed______anychangesbeingmadeintheplan.
下列哪项不是浅Ⅱ度烧伤的局部表现
某机电安装工程项目,业主通过公开招标方式选择了某机电安装企业,双方签订了机电安装工程施工总承包合同,施工总承包企业又选择了一家劳务分包企业,将某分部工程的劳务作业分包给该劳务分包企业。在施工过程中发生如下事件:事件一:由于业主供应的工程材料延误,
马斯洛的需要层次理论中,人最基本的需要是()(济南市中)
大多数星系正在远离我们而去,其退行速度(红移)和星系的距离成正比。这一比例系数如今被称为哈勃常数,它表示着宇宙当前的膨胀速度,观测宇宙学的核心任务之一就是测量距离与红移的关系,它描述宇宙膨胀的历史,回答关于宇宙年龄、几何、组成成分等基本问题,甚至能够检验很
Forthe【C1】______month,mysteriousfallsoflargechunksofice(冰雹)【C2】______raineddownonSpainandItaly.JuanaSanchez,a7
Wespentadayinthecountryand【C1】______alotofflowers.Ourcarwasfullofflowersinside!Onthewayhomewehadtosto
It’snosecretweareacultureconsumedbyimage.Economistshavelongrecognizedwhat’sbeendubbedthe"beautypremium"—thei
最新回复
(
0
)