首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件1N68.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,清编制一函数JsVal(),其功能是:如果4位数各位上的数字均是奇数,则统计出满足此条件的个数cnt,并把这些4位数按从大到小的顺序存入数组b中。最后调
已知数据文件1N68.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,清编制一函数JsVal(),其功能是:如果4位数各位上的数字均是奇数,则统计出满足此条件的个数cnt,并把这些4位数按从大到小的顺序存入数组b中。最后调
admin
2010-01-09
29
问题
已知数据文件1N68.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,清编制一函数JsVal(),其功能是:如果4位数各位上的数字均是奇数,则统计出满足此条件的个数cnt,并把这些4位数按从大到小的顺序存入数组b中。最后调用函数writeDat()把结果cnt及数组b中符合条件的4位数输出到 OUT68.DAT文件。
注意:部分源程序己给出。
程序中已定义数组;a[200],b[200],已定义变量:cnt。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
试题程序:
#include<stdio.h>
#define MAX 200
int a[MAX],b[MAX],cnt=0;
void jsVal()
{
}
void readDat()
{
int i;
FILE *fp;
fp=fopen("IN68.DAT","r");
for(i=0;i<MAX;i++)
fscanf(fp,"%d",&a
);
fclose(fp);
}
void main()
{
int i;
readDat();
jsVal();
printf (满足条件的数=%d\n", cnt);
for(i=0;i<cnt;i++)
printf ("%d", b Iii );
printf ("\n");
writeDat ();
}
writeDat ()
{
FILE *fp;
iht i;
fp=fopen ("out68.dar","w");
fprintf (fp,"%d\n",cnt);
for (i=0; i<cnt; i++)
fprintf {fp,"%d\n",b Iii );
fclose (fp);
}
选项
答案
void jsVal() { iht i, thou, hun, ten, data, j; for (i=0;i<200;i++) { thou=a [i] /1000; /*求四位数的千位数字*/ hun=a [i] %1000/100; /*求四位数的百位数字*/ ten=a [i] %100/10; /*求四位数的十位数字*/ dat a=a [i] %10; /*求四位数的个位数字*/ if (thou%2 !=0 && hun%2!=0 && ten%2!=0 && data%2!=0) /*如果4位数各位上数字均是奇数*/ { b [cnt] =a [i]; /*将满足条件的数存入数组b中*/ cnt++; /*统计满足条件的数的个数*/ } } for (i=0; i for (j=i+l; j<cnt; j++) if (b[i] <b[j] ) { data=b[i]; b[i]=b[j]; b [j] =data; } }
解析
本题考查的知识点如下:
(1) "%"与"/"的使用。
(2) 循环结构与判断结构的使用。
(3)数据的排序。
本题中,首先借助“%”与“/”将4位数各位上的数拆成独立的数字:将1个4位数整除1000则可得到其千位上的数字,除以1000取余再整除100则可得百位上的数字,除以100取余再整除10则可得十位上的数字,除以10取余则得个位卜的数字。1个数除以2取余所得的数不等于0,则此数是奇数。题中要求将符合条件的4位数按从大到小的顺序存入数组b中,我们可以先将符合条件的4位数存入数组b,然后对b中的数进行排序。排序使用“选择排序法
转载请注明原文地址:https://jikaoti.com/ti/kMp7FFFM
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
在进行某学校教务管理系统的数据库设计时,数据库设计人员设计了如下几个关系模式:系(系号,系名),系号为主码学生(学号,姓名,所在系号),学号为主码课程(课程号,课程名,开课系号),课程号为主码选课(学号,课程号,选课
在SQLServer2008中,每个数据页可存储8060字节的数据。设表T有10000行数据,每行占用3000字节,则存储该表数据大约需要【8】MB存储空间。(存储空间保留到整数,小、数点后按四舍五入处理)
对一个数据集的数据进行分组,使得每一组内的数据尽可能相似而不同组间的数据尽可能的不同,这样数据挖掘方法称为【14】算法。
在SQLServer2008中,设U1是SQLServer身份验证模式的数据库服务器登录账户,现希望U1在该数据库服务器上具有系统管理员权限。请补全下列语句:EXECsp_addsrvrolemember’U1’,’【9】’
设SQLServer2008中有students数据库,需要对其进行事务日志备份,直接备份到D:\LogData目录下(此目录已存在)的Students_log.bak文件上,请补全下列语句:BACKUP【12】studentsTODISK=’D
设在采用SQLServer2008数据库的图书馆应用系统中有三个基本表,表结构如下所示,请用SQL语句完成下列两个查询:检索至少借了5本书的同学的借书证号、姓名、系名和借书数量。
设在SQLServer2008某数据库中有按如下格式定义的存储过程首部:CREATEPROCP1@xint,@yint,@zintoutputAS…请补全下列调用该存储过程的语句。DECLARE@SintExECP12
现有论文和作者两个实体,论文实体的属性包括题目、期刊名称、年份、期刊号;作者实体的属性包括姓名、单位、地址;一篇论文可以有多个作者,且每一位作者写过多篇论文,在每一篇论文中有作者的顺序号。请完成以下操作:将ER图转换成关系模式,并指出每个关系模式的主键
具体来说,UML的语义是定义在一个四层建模概念框架中的,这四层分别是:【1】、元模型层、模型层和【2】。
数据库管理系统中的加锁协议规定了事务的加锁时间、持锁时间和释放锁时间,其中_______协议可以完全保证并发事务数据的一致性。
随机试题
建设社会主义市场经济体制后,国家计划的作用随之消失。()
A.吹冷风B.缩短工作时间C.远距离操作D.穿戴个人防护服装E.加强营养对炼钢炉前操作工防热辐射作用最有效的防护措施是
钢筋混凝土预制桩开始打桩时,桩锤落距宜低,一般为()mg使桩能正常沉入土中。
设A=,则秩r(AB-A)等于()。
根据《税务行政复议规则》,纳税人对税务机关()的行为不服,可以不经复议直接向法院提起行政诉讼。
菲利普斯曲线说明了货币政策之间存在矛盾的是()。
开启了全面深化改革、系统整体设计推进改革的新时代。开创了我国改革开放的全新局面的会议是
在Oracle系统中,()包括数据库缓冲存储区、日志缓冲区和共享池。
TheSwedishAcademycongratulatesyou.Icallonyoutoacceptthe2012NobelPrizeforLiteraturefromthehandofHisMajesty
Praise,iftoomuchcanleadtoanunexpectedeffectoppositetooutintention.It’swisetodiscussWitholderchildrenonhow
最新回复
(
0
)