早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->计算机三级 -->

已知数据文件IN89.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中。请编制一函

题目

已知数据文件IN89.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中。请编制一函数jsVal(),其功能是:如果一个4位数的千位数字上的值加个位数字上的值恰好等于百位数字上的值加上十位数字上的值,并且此4位数是奇数,则统计出满足此条件的数的个数cnt并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的4位数输出到 OUT89.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("IN89.DAT","r");

for(i=0;i<MAX;i++)

fscanf(fp,"%d",&a[i]);

fclose~fp);

}

main()

{

int i;

readDat();

jsVal();

printf ( "满足条件的数=%d\n", cnt);

for(i=0;i<cnt;i++)

printf("%d",b[i]);

printf("\n");

writeDat();

}

writeDat()

{

FILE *fp;

int i;

fp=fopen("OUT89.DAT","w");

fprintf(fp,"%d\n",cnt);

for(i=0;i<cnt;i++)

fprintf(fp, "%d\n",b[i]);

fclose(fp); ~'

}

参考答案
正确答案:void jsVal( ) { int ithouhuntendataj; for(i=0;i200;i++) { thou=[i]%1000/100; /*求四位数的首位数字*/ ten=[i]%100/10; /*求四位数的十位数字*/ data=a[i]%10; /*求四位数的个位数字*/ if((thou+data==hun+ten)&&a[i]%2==1) /*如果千位数加个位数等于百位数加十位数并且此数是奇数*/ { b[cnt]=a[i]; /*则将满足条件的数存入数组b中*/ cnt++; /*统计满足条件的数的个数*/ } } for(i=0;icnt-1;i++) /*将数组b中的数按从小到大的顺序排列*/ for(j=i+1;icnt;j++) if(b[i]>b[i]) { data=b[i]; b[i]=b[j]); b[j]=data; } }
void jsVal( ) { int i,thou,hun,ten,data,j; for(i=0;i200;i++) { thou=[i]%1000/100; /*求四位数的首位数字*/ ten=[i]%100/10; /*求四位数的十位数字*/ data=a[i]%10; /*求四位数的个位数字*/ if((thou+data==hun+ten)&&a[i]%2==1) /*如果千位数加个位数等于百位数加十位数,并且此数是奇数*/ { b[cnt]=a[i]; /*则将满足条件的数存入数组b中*/ cnt++; /*统计满足条件的数的个数*/ } } for(i=0;icnt-1;i++) /*将数组b中的数按从小到大的顺序排列*/ for(j=i+1;icnt;j++) if(b[i]>b[i]) { data=b[i]; b[i]=b[j]); b[j]=data; } } 解析:本题考查的知识点如下:
(1)运算符“%”及“/”的使用。
(2)选择结构中多个条件的布尔运算。
(3)数据的排序。
在本题中,首先要将一个4位数的千位、百位、十位、个位拆成独立的数字。这里借助特殊运算符号“%”(取余)和“/”(整除),拆分方法略。一个数除以2取余所得的数为1,则这个数是奇数。题中给出的两个条件必须同时满足,所以两条件之间用“与”运算。将符合条件的数先存入数组b中,再对b中的数据进行排序。排序使用“选择排序法”。
看了已知数据文件IN89.DAT中...的网友还看了以下:

收字纸的老人阅读答案就是语文练习册上的那篇啊,在下感激不尽.1文中哪些地方表现出中国人对字的崇敬? 语文 2020-04-26 …

收字纸的老人阅读答案1.文中哪些地方表现出中国人对字的崇敬?2.文昌阁都能起到什么作用?3.“老白 语文 2020-04-26 …

语文阅读应注意些什么在做语文阅读题时,文中哪些方面应该注意,应着重找出哪些重点内容比如描写人物时, 语文 2020-04-27 …

课文运用了多种说明方法,这样写,文章既具有科学性、知识性,又具有形象性、可读性。阅读课文,举例说明 语文 2020-05-13 …

《爸爸的花儿落了》题目1.“花”在全文结构中起到什么作用?2.文中哪些是眼前事,哪些是回忆过去的事 语文 2020-05-15 …

阅读点灯的人答案3、解释下列词语在文中的意思.(1)栖身:4、五年前,我当教师时面临的困难有哪些? 语文 2020-06-08 …

《春之怀古》1、“一首澌澌然的歌”比喻什么?2、文中哪些句子照应了题目中的“怀古”?3、“至于所有 其他 2020-06-12 …

朱自清温州的踪迹联系上下文解释意思扶疏:掩映:历历:妖娆:在描写这张横幅的时候,作者按顺序描绘了( 语文 2020-06-15 …

蔡芸芝先生是个怎样的人?文中用了哪些事来表现蔡芸芝先生?我是一个什么样的学生?文中哪些地方可以看出 语文 2020-06-17 …

文言文中哪些字词意思是结束文言文中哪些字词意思是结束和掌握 语文 2020-07-16 …