首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件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
68
问题
已知数据文件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://kaotiyun.com/show/zBvZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
实时系统的任务时限有两种类型,分别是【67】和【68】。
SoC芯片中的CPU绝大多数是以IP核的方式集成在芯片中的,很少再自行设计开发。目前32位嵌入式处理器主要采用的是由__________【41】国一家专门从事RISC处理器内核设计公司设计的__________【42】内核。
关于ARM嵌入式处理器的工作状态,以下说法错误的是()。
下列关于实时系统的陈述中,不正确的是()。
为了连接ARM内核与处理器芯片中的其他各种组件,ARM公司定义了总线规范,该规范用4个大写英文字母表示为【57】_______,即先进的微控制器【58】_______体系结构。
已知内存0x80000000中的内容为0x33,0x80000001中的内容为0x31,0x80000002中的内容为0x30,0x80000003中的内容为0x32,则ARM在大端模式下地址0x80000000所指示的一个字为()。
在μC/OS—II操作系统下,能使运行态任务转入等待态的系统函数是()。(Ⅰ)OSSemPost()(Ⅱ)OSTaskCreate()(Ⅲ)OSSemPend()(Ⅳ)OSTimeDly()
关于ARM指令中的条件域,以下表述错误的是()。
IEEE的实时UNIX分委会认为实时操作系统应该具备若干特征,下面()不是实时操作系统必须具有的特征。
随机试题
关于细菌性发热的叙述,错误的是
以下哪项不是胰腺功能不全者粪便的特点
A.呼吸困难B.肌肉震颤C.腰痛D.呕吐E.腹泻属呼吸系统疾病问诊内容的是()
采用财务综合分析的方法综合评价企业经营业绩,其分析的内容包括()。
黄林是国有企业的财务科科长、会计师,不仅自己业务能力强,而且经常组织全科的同志学习会计业务,对别人的提问也是耐心回答。小刘刚从事会计工作不久,每次碰到不懂的业务问题都喜欢问黄林科长,他总是耐心回答,直到小刘明白为止。然而,就是这样一位好科长,上个月却被莫名
2014年6月9日,甲公司支付价款855万元(含交易费用5万元)购入乙公司股票100万股,占乙公司有表决权股份的2%,作为可供出售金融资产核算。2014年12月31日,该股票市场价格为每股9元。2015年2月5日,乙公司宣告发放现金股利1000万元。2
思维过程的最基本的形式是()。
资本资产定价模型
Theparentsstaredattheirchildangrily,______(等着他来解释事情的原委).
A、Hecan’tfindhisofficekey.B、Hehasmisplacedsomeexams.C、Heisunabletotalk.D、Hedoesn’tlikehisclassroom.C本题中的he指
最新回复
(
0
)