首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件IN68.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:如果4位数各位上的数字均是奇数,则统计出满足此条件的个数cnt,并把这些4位数按从大到小的顺序存入数组b中。最后调
已知数据文件IN68.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:如果4位数各位上的数字均是奇数,则统计出满足此条件的个数cnt,并把这些4位数按从大到小的顺序存入数组b中。最后调
admin
2010-06-17
30
问题
已知数据文件IN68.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
);
printf ("\n");
writeDat ( );
}
writeDat ( )
{
FILE *fp;
int i;
fp= fopen ("out68.dat", "w");
fprintf (fp, "%d\n", cnt);
for (i=0; i<cnt; i++)
fprintf (fp, "%din", b
);
fclose (fp);
}
选项
答案
void jsVal() { int 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; /*求四位数的十位数字*/ data=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<cnt-1;i++) /*将数组b中的数按从大到小的顺序排列*/ for(j=i+1;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/eX97FFFM
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
下面关于NORFlash和NANDFlash的叙述中,错误的是()。
当有普通外部中断发生,系统将进入外部中断模式,相应寄存器的低5位变成10010B,该寄存器为()。
如果R0=0x80000000,R1=4,R2=0x31322375,而指令STRR2,[R0,R1]!执行后,0x800(K1004中的数据为0x31,0x80000005中的数据为0x32,0x80000006中的数据0x23,0x80000007中
从现实世界中获得数字图像的过程经历的操作依次为()。
以下关于ARM处理器寄存器说法错误的是()。
如果要选择ARM处理器工作在外部中断模式,允许外部中断IRQ,禁止快速中断FIQ,使用Thumb工作状态,则需要设置的寄存器是()。
引导加载程序在引导加载操作系统时,设置相关的寄存器和资源,跳转到【73】_______所在的空间,执行其引导,这个过程中可以给【74】_______传递参数,可以控制系统启动的模式。
数字图像的文件格式有多种,不同的文件格式采用不同的编码方法。其中JPEG大多采用有损压缩方法,压缩率较高,它在【43】中广泛使用。【44】图像文件格式采用无损压缩方法,图像的颜色数目较少,文件特别小,适合在网页中作为插图或剪贴画使用。
μC/OS-Ⅱ的事件控制块有4种类型,需要使用4个不同的函数来创建。如下选项中哪一个用于创建事件控制块?
一些进程相互合作共同完成一项任务,进程之间的这种直接的协同工作关系称之为()。
随机试题
A.Ⅰ型B.Ⅱ型C.迟发型D.Ⅳ型E.速发型以下疾病均为变态反应疾病,分别属于哪种类型将变态反应分为速发型和迟发型,变应性鼻炎为
A.60°B.30°C.25°D.15°E.45°上颌窦癌两夹角90°照射时,楔形角应取
沉淀反应中抗原过量的现象称为
催化谷氨酸+丙酮酸α—酮戊二酸+丙氨酸反应的酶所需要的辅酶包含
患者,男性,80岁。有慢性支气管炎病史20年。一周前受凉后再次出现咳嗽、咳痰,痰白质黏,伴有呼吸困难、胸闷、乏力。以“慢性支气管炎合并慢性阻塞性肺气肿”入院治疗。患者最主要的护理问题是
《招标投标法》规定,招标投标活动中的招标代理机构应当依法设立,并具备法律规定的条件,以下关于代理的表述,错误的是()。
以所购商用房(通常要求借款人拥有该商用房的产权)作抵押的,由()决定是否有必要与开发商签订商用房回购协议。
道德境界是体现个人道德品质高低的一个概念,通常指的是人们通过道德教育和道德修养在道德认识、道德情操、道德意志、道德信念和道德行为等方面所达到的程度和水平。追求崇高的道德境界我们要做到()
PublicRelationsPublicrelationsisabroadsetofplannedcommunicationsaboutthecompany,includingpublicityreleases,
To:LauraGodwinFrom:LeighRichardsDate:Monday,July20Subject:StayatRenaissanceClevelandHotelinOhioDateMs.L
最新回复
(
0
)