首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件IN.dat中存有200个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数NumCal(),其功能是:把一个四位数的千位数字上的值加上个位数字上的值恰好等于百位数字上的值加上十位数字上的值,并且原四位数是奇数,则统计出满足此
已知数据文件IN.dat中存有200个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数NumCal(),其功能是:把一个四位数的千位数字上的值加上个位数字上的值恰好等于百位数字上的值加上十位数字上的值,并且原四位数是奇数,则统计出满足此
admin
2010-09-05
61
问题
已知数据文件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全国计算机三级
相关试题推荐
下列哪些条目影响分布式数据库系统的查询性能?Ⅰ.数据的传输量Ⅱ.不同场地之间的连接操作Ⅲ.数据的安全性Ⅳ.不同场地之间的并操作
设F是属性组U上的一组函数依赖,下列哪一条属于Armstrong公理系统中的基本推理规则?
事务的所有操作在数据库中要么全部正确反映出来,要么全部不反映,这是事务的哪一个特性?
在关系代数中,从两个关系的笛卡尔积中,选取它们的属性间满足一定条件的元组的操作,称为
在SQL语言的SELECT语句中,实现投影操作的是哪一个子句?
Web服务中的超文本置标语言(HyperTextMarkupLanguage,HTML)是指______。
______是对计算机系统中所存放的大量数据进行组织、管理、查询并提供一定处理功能的大型系统软件。
I/O通道一般分为三种类型,数组选择通道、______、______。
Oracle针对Internet/Intranet的产品是______。
下面不属于对属性列和视图的操作权限的操作有
随机试题
全面质量管理十分重视产品形成过程中各个环节的工作质量。因此,必须对企业生产经营中各个环节的工作质量给予十分重视和严格要求。
下列哪项不是原发性骨关节炎的发病原因
男,12岁。自幼发现心脏杂音,平素易感冒。查体发现胸骨左缘第2肋间收缩期轻震颤及杂音。心脏彩超提示,降主动脉及肺动脉之间可见分流。患儿出现发热后,即开始抗感染治疗,但不久即先后两次出现周围小动脉栓塞,此时应
一般净高为1.2~1.4m,通道净宽0.5~0.6m的地沟为()。
中国金融理财标准委员会规定,在每个报告期内,CFP需完成30个继续教育学时的学习,其中用于学习有关职业道德准则和执业操作准则的时间不得少于()个继续教育学时
引起、维持和指引个体学习活动的心理动因或内部动力称为________。
幼儿道德发展的核心问题是()。
女,40岁。体检时发现肺上叶有直径3cm的结节。手术切除后,病理诊断为肺的炎性假瘤,不符合炎性假瘤的病变是
20世纪70年代以后,美国保守主义思潮涌动,加之60年代教育改革法没有达到预想的目的,教育质量有下降的趋势,因此,各界呼吁要
人生观是指生活于一定社会环境中的人,依据某种世界观和个人生活体验所形成的对人生的意义、__________、_____________、___________等的根本看法和信念。人生观的这些方面是紧密地联系在一起的,其中____________即人生价值
最新回复
(
0
)