A.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:如果一个4位数的千位数字上的值加十位数字上的值恰好等于百位数字上的值加上个位数字上的值,并且此4位数是偶数,则统计出满足此条件的数的个数cnt并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到
B.DAT文件中。
C.h>
D.DAT','r');
E.DAT','w');

参考答案:void jsVal( ) { int ithouhuntendataj; int ab cd; for (i=0; i<MAX; i++) { thou=a [i]/1000; /*求四位数的千位数字*/ hun=a [i] %1000/100; /*求四位数的百位数字*/ ten=a [i] %100/10; /*求四位数的十位数字*/ data=a [i] %10; /*求四位数的个位数字*/ if ((thou+ ten= =hun+ data) &&a [i] %2! = 1) { /*如果千位数加十位数等于百位数加上个位数并且此数是偶然*/ 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; } }
void jsVal( ) { int i,thou,hun,ten,data,j; int ab, cd; for (i=0; i<MAX; i++) { thou=a [i]/1000; /*求四位数的千位数字*/ hun=a [i] %1000/100; /*求四位数的百位数字*/ ten=a [i] %100/10; /*求四位数的十位数字*/ data=a [i] %10; /*求四位数的个位数字*/ if ((thou+ ten= =hun+ data) &&a [i] %2! = 1) { /*如果千位数加十位数等于百位数加上个位数,并且此数是偶然*/ 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)将一个4位整数各位上的数转变成单独的个位数。
(2)判断结构中多个条件的布尔运算。
(3)数据的排序。
在本题中,首先要将一个4位数的千位、百位、十位、个位拆成独立的数字。这里借助特殊运算符号“%”(取余)和“/”(整除)。将一个4位数整除1000则可得到其千位上的数字,除以1000取余再整除100则可得百位上的数字,除以100取余再整除10则可得十位上的数字,除以10取余则得个位上的数字。若一个数除以2取余为0,则这个数是偶数。题目中的两个条件必须同时满足,所以两条件之间用“与”运算。先将满足条件的数存入数组b中,再对数组中的数据进行排序。最后的排序采用“选择排序法”。
查答案就用赞题库小程序 还有拍照搜题 语音搜题 快来试试吧
无需下载 立即使用

你可能喜欢

A.XLS,按要求在EX7.XLS中完成以下操作:
1.在sheet1工作表中建立如下内容工作表,并用函数求出每人的平均成绩,结果保留1位小数,表格行高20,列宽10,数值数据水平右对齐,文字数据水平居中,所有数据垂直靠下,表标题跨列居中、18磅、隶书、红色字,并将工作表命名为“平均表”。
B.shangxueba.cn/images/ct_cefm_cefexcelp_02598(20094).jpg'
C.将平均表复制为一个名为“统计”的新工作表,筛选出平均成绩80分以上的人,以“统计”为工作表名存在EX7.XLS文件中。

A.shangxueba.cn/images/ct_ctjjm_compapp_00084(20092).jpg'
B.awt.*;
C.awt.Graphics.*;
D.awt.event.*;
E.getX();
F.getY
G.drawLine(100,0,100,200);
H.drawLine(0,100,200,100);
I.setColor(Color.black);
J.fillOval(10,10,80,80);
K.setColor(Color.green);
L.fillRect(110,10,80,80);
M.setColor(Color.blue);
N.fillArc(10,130,80,35,50,250);
O.setColor(Color.yellow);
P.fillPolygon(xvals,yvals,3);
Q.html:
R.class'width=800

赞题库

赞题库-搜题找答案

(已有500万+用户使用)


  • 历年真题

  • 章节练习

  • 每日一练

  • 高频考题

  • 错题收藏

  • 在线模考

  • 提分密卷

  • 模拟试题

无需下载 立即使用

版权所有©考试资料网(ppkao.com)All Rights Reserved