首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件IN.dat中存有200个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数NumCal(),其功能是:把一个四位数的千位数字上的值加上个位数字上的值恰好等于百位数字上的值加上十位数字上的值,并且原四位数是奇数,则统计出满足此
已知数据文件IN.dat中存有200个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数NumCal(),其功能是:把一个四位数的千位数字上的值加上个位数字上的值恰好等于百位数字上的值加上十位数字上的值,并且原四位数是奇数,则统计出满足此
admin
2010-09-05
28
问题
已知数据文件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全国计算机三级
相关试题推荐
计算机系统可分为硬件系统和软件系统,其中软件系统主要由______组成。
在数据库的三级模式体系结构中,存在两次映像:外模式/模式映像和_____映像。
在关系模式R(D,E,G)中,存在函数依赖关系{E→D,(D,G)→E}则候选码为【】,关系模式R(D,E,G)最高可以达到【】。
采用扩展关系数据模型的方法建立的数据库系统称为()。
数据库中,每个事务都感觉不到系统中其他事务在并发执行,这一特性称为事务的______。
m阶B树的根节点若不是叶节点,那么它至多有m棵子树,至少有_____棵子树。
设只包含根节点的二叉树的高度为0,则高度为k的二叉树的最小节点数为_____。
关系数据库中有3种基本操作,将具有共同属性的两个关系中的元组连结到一起,构成新表的操作称为______。
对Interned上的B类IP地址,网络类型占两位,数值为0x10,如下对B类网表述正确的是()。
Oracle数据库系统中负责客户机与服务器之间网络通信的模块是【】。
随机试题
【B1】【B6】
A.瑞格列奈B.格列本脲C.格列喹酮D.格列齐特极少经肾脏排泄的磺脲类降糖药是
手术前预防性应用抗生素不正确的是
A.先B.标本兼治C.标D.本E.里《素问.标本病传论》指出“先中满而后烦心者”治其
患者产后2天,恶寒发热,头痛,咳嗽,流涕,肢体疼痛,无汗,纳呆,舌苔薄白,脉浮。治疗应首选
A.甘草白术B.白术防风C.防风当归D.当归桂枝E.桂枝茯苓
背景资料某施工单位与建设单位签订了路基工程施工承包合同,包括桥涵两座和路基填筑工程,合同工期390天,合同总价5000万元。施工前施工单位向工程师提交了施工组织设计和施工进度计划。该工程在施工过程中发生了以下事件:事件一:因地质勘探报告不详,出现图
某酒店按要求设有自动喷水灭火系统,消防水泵机组房位于地下一层且机组额定功率为20kW,其外轮廓面与墙面之间的最小间距为()m。
执行力是公务员必需的素质,针对你的岗位说说你执行力的欠缺。你怎么改进?
设f(x)在区间[0,1]上连续,在(0,1)内可导,且,f(1)=0.证明:至少存在一点ξ∈(0,1),使(1+ξ2)(arctanξ)f’(ξ)=-1.
最新回复
(
0
)