首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件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
38
问题
已知数据文件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://kaotiyun.com/show/IKYZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
数据转储也被称为数据备份,是数据库管理员的重要工作。下列有关此项工作的说法,正确的是()。
通常数据库的转储机制有三种,分别是完全转储、差量转储和【13】转储。
数据库性能优化是数据库应用系统上线后最常见的运行维护任务之一。下列有关数据库优化的说法,正确的是()。
数据库管理员是数据库的主要维护者,设有如下针对数据库的工作:Ⅰ.数据库的转储和恢复Ⅱ.数据库的安全性、完整性控制Ⅲ.数据库性能的监控分析和改进Ⅳ.数据库的重组和重构以上工作属于数据库管理员职责的是()
在SQLServer2008中,通过在视图上创建唯一【8】索引的方式可使视图的结果集保存到数据库中。
设用UML设计某数据库应用系统,设计人员规划了一组应用程序集,该集合由动态链接库和可执行程序构成。为了展现这些应用程序集间的组织和依赖关系,以对源代码、可执行程序的发布等进行系统建模,应采用的UML图是【3】图。
分类算法服务于数据挖掘或机器学习中分类任务,下列算法中不属于分类算法的是()。
在开发数据库应用系统时,使用存储过程可以提高数据访问效率,降低网络流量。下列关于存储过程的说法,错误的是()。
随机试题
男性,60岁,有胃溃疡病史10余年,虽经内科正规治疗,但症状无明显改善,近年来上腹痛发作频繁,疼痛规律消失。目前最合理的治疗方法是
恶性肿瘤最有效的治疗方法是
已有余额的科目不能直接删除。()
关于财政赤字,下列说法中,正确的是()。
国债以竞争性招标方式发行,标的为利率时,标位变动幅度为()。
外汇交易主要分为()之间的外汇交易。
导游人员的聚谈艺术、认真倾听体现在()。
材料.“视觉的形成”教学实录片段教师:同学们,我们先来做个游戏。(教师出示右图)教师:看谁能在最短的时间里找出9张人脸,据说,只有智商超过180的人才能找到9张人脸!(学生急切寻找并踊跃回答)教师:刚才的游戏让老师认识了我班一大批高智商的同
计算积分x2dx+(y一x)dy,其中L:(Ⅰ)是半径为a,圆心在原点的上半圆周,起点A(a,0),终点B(一a,0)(见图9.2);(Ⅱ)x轴上由A(a,0)到日(一a,0)的直线段.
汉字国标码(GB2312—80)把汉字分成()。
最新回复
(
0
)