首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件IN.dat中存有200个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数NumCal(),其功能是:把一个四位数的千位数字上的值加上个位数字上的值恰好等于百位数字上的值加上十位数字上的值,并且原四位数是奇数,则统计出满足此
已知数据文件IN.dat中存有200个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数NumCal(),其功能是:把一个四位数的千位数字上的值加上个位数字上的值恰好等于百位数字上的值加上十位数字上的值,并且原四位数是奇数,则统计出满足此
admin
2010-09-05
57
问题
已知数据文件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全国计算机三级
相关试题推荐
数据模型可分为概念数据模型和结构数据模型,常用的实体—联系模型属于_____数据模型。
一个关系模式为Y(X1,X2,X3,X4),假定该关系存在如下函数依赖:(X1,X2)→X3,X2→X4,则该关系属于【】,因为它存在着【】。
在关系规范化过程中,要从1NF变成3NF,需要消除()。
在数据库的三级模式体系结构中,存在两次映像,一次是从外模式到模式的映像,一次是______到______的映像。
SQL语言集数据查询、数据操纵、数据定义和数据控制功能为一体,其中语句GRANT、REVOKE是实现_____功能。
下列关于“数据库三级模式结构”的叙述中,哪一条是不正确的?______。
若关系R和S的关系代数操作的结果如下,这是执行了()。[*]若关系R和S的关系代数操作的结果如下,这是执行了()。
计算机网络最主要的功能是实现______。
分布式数据库系统是由一组数据组成的,这组数据分布在计算机网络的不同计算机上,网络中的每个结点具有独立处理的能力(称为______),可以执行局部应用。同时,每个结点也能通过网络通信子系统执行全局应用。
随机试题
动平衡调整的力学原理,首先要假设旋转体的材料是绝对刚性的,这样可以简化很多问题。( )
诊断肺病的主要依据是()
关于现金流量图绘制规则的说法,正确的有()。
在要约收购中,收购人以现金进行支付的,应当在作出提示性公告的同时,将不少于收购总金额( )的履约保证金存放在证券登记结算机构指定的银行账户,并办理冻结手续。
在采用趋势分析法进行销售预测时,()适用于每月销售量波动不大的产品的销售预测。
下列有关房产税规定的表述中,正确的有()。
金属历来都是通过采矿、冶金制取的,可是80年代初期,科学家发现在聚乙炔中加入强氧化剂或还原剂后,它的导电性能大大提高。因为这种塑料具有金属的一般特性,所以人们称它为“人造金属”。近年来,它的发展极为神速,人们又先后研制成功了聚苯乙炔、聚苯硫醚和聚双炔类等。
物联网是实时共享的实物互联网。()
红豆对于()相对于鸽子对于()
I______comeherebyship,butIdidn’thaveenoughtime.
最新回复
(
0
)