首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列程序的功能是:在3位整数(100至999)小寻找符合下面条件的整数,并依次从小到大存入数组 b中:它既是完全平方数,又有两位数字相同,例如144,676等。 请编制函数int js Value(int bb[]实现此功能,满足该条件的整数的个数通
下列程序的功能是:在3位整数(100至999)小寻找符合下面条件的整数,并依次从小到大存入数组 b中:它既是完全平方数,又有两位数字相同,例如144,676等。 请编制函数int js Value(int bb[]实现此功能,满足该条件的整数的个数通
admin
2009-02-19
74
问题
下列程序的功能是:在3位整数(100至999)小寻找符合下面条件的整数,并依次从小到大存入数组 b中:它既是完全平方数,又有两位数字相同,例如144,676等。
请编制函数int js Value(int bb[]实现此功能,满足该条件的整数的个数通过所编制的函数返回。
最后调用函数writeDat()把结果输出到文件OUT12.DAT中。
注意:部分源程序已给出。
请勿改动主函数main()和写函数writeDat()的内容。
试题程序:
#include <stdio.h>
int jsValue(int bb[] )
{
}
main ( )
{
int b[20], num;
num = jsValue (b);
writeDat (num, b);
}
writeDat {int num, int b[] )
{
FILE *out;
int i;
out = fopen("OUT12.DAT", "w");
fprintf(out, "%d\n", num);
for(i = 0; i < num; i++)
fprintf(out, "%d\n", b
);
fclese(out);
}
选项
答案
int jsValue(int bb[]) { int i,j,k=0; int hun,ten,data; for(i-100;i<=999;i++) { j=10; while(j*j<=i) { if(i==j*j) /*如果该数是完全平方数*/ { hun=i/100; /*求该数的百位数字*/ data=i-hun*100;/*得到后两位数*/ ten=data/10; /*求该数的十位数字*/ data=data-ten*10;/*求该数的个位数字*/ if(hun==ten || hun==data || ten==data) /*有两位数字相同*/ {bb[k]=i; /*则把该数存入数组bb中*/ k++;} /*统计满足条件的数的个数*/ } j++; } } return k; /*返回满足该条件的整数的个数*/ }
解析
解答本题,首先应该考虑用一个for循环宋依次取得100到999之间的各个数,并对当前所取得的数进行两个条件判断:一是判断该数是否是完全平方数:二是判断该数是否有两位数字相同。如果以上两个条件同时满足,则把该数存放到b数组中,尽管题目要求所存的数必须从小到大,但我们取数的过程本身就是从小到大取得,因此,排序工作是没有必要做的,按照取数的顺序,把满足条件的数值存放到数组b中就可以了。判断某个数是否是完全平方数的方法是看该数是否可以拆成完全相同的两个数的积(当然要拆成的两个数一定是两位数),因此,我们再利用一个循环用10以上的两位数逐个去拆被判断的数,如果被判断的数恰好可以被完全拆分,则第一个条件成立,接着就开始依次取得被判断的数的百位、十位、个位上的数字值,看是否有两位数字相同。取得每一位上的数字值可以用“hun=i/100:data=i-hun*100:ten=data/10:data=data-ten*10:”几条语句来实现,hun变量得到的是百位上的数字,ten变量得到的是十位上的数字,data变量得到的是个位上的数字。
转载请注明原文地址:https://kaotiyun.com/show/2sSZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
执行下列指令序列后,完成的功能是将(DX,AX)的值______。 MOV CL,04 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL
操作系统中,“死锁”的概念指______。
μC/OS-II操作系统启动的过程中,Bootloader执行完毕后,调用应用程序主文件(通常是main.c)里的main()函数。main()函数在执行过程中,除了用户函数和硬件初始化函数之外,需要执行以下三个主要的μC/OS-II函数:Ⅰ.OSSta
在μC/OS-II启动过程中,BootLader执行完毕后,执行应用程序主文件中main()时,依次执行的三个主要的函数是:①OSInit();②【67】_______;③【68】_______。
ARM处理器芯片内部的直接存储器访问控制器常简称为___________【59】控制器,采用它来传输数据,可降低处理器的负荷;通过将CPU设为低功耗状态,并使用直接存储器访问控制器传输数据,能降低系统的___________【60】。
若基于Linux操作系统所开发的ARM应用程序源文件名为test.c,那么要生成该程序代码的调试信息,编译时使用的GCC命令正确的是()。
I2C总线被启动后,多个主机在每发送一个数据位时都要对SDA信号线电平进行检测,只要检测的电平与自己发出的电平__________【63】就会继续占用总线。总线控制遵循的原则是谁先发送__________【64】电平谁就会掌握对总线的控制权。
在下图所示的嵌入式最小硬件系统中,①和②分别为【59】电路和【60】电路(顺序无关)。
基于嵌入式WEB的应用系统中,构件设计阶段需要设计支持以太网通信的电路,包括以太网控制电路及以太网【79】电路。若选用的以太网控制芯片为AX88796芯片,并用S3C2410芯片的nGCS2引脚连接到AX88796芯片的片选引脚上(即CS引脚上,CS低电平
集成电路的集成度指的是单个集成电路所含晶体管、电阻、电容等电子元件的数目多少。几十年来,集成电路的集成度平均每18~24个月翻一番,这就是有名的【43】定律。这是因为集成电路中晶体管等元器件的尺寸越来越小,当前集成电路批量生产的主流技术已经达到几十【44】
随机试题
Researchonfriendshiphasestablishedanumberoffacts,someinteresting,someevenuseful.Didyouknowthattheaveragestud
设y1(x),y2(x是二阶常系数线性微分方程yˊˊ+Pyˊ+qy=0的两个线性无关的解,则它的通解为________.
干姜的主治病证有
高血压危急症的处理原则最主要的是()
小儿,阵发性痉挛性咳嗽1个半月,经治疗咳嗽减轻,但痰粘难以咳出,伴低热,烦躁盗汗,舌红苔少,脉细数。治疗应首选方剂
狭义的金融犯罪是指金融业务活动本身的犯罪,主要是指“破坏金融管理秩序罪”及“金融诈骗罪”;广义的金融犯罪还包括金融机构工作人员的职务犯罪,如贪污、受贿、挪用公款罪等。()
初次见面握手时间应控制在3秒钟内,切记不可戴手套。()
国际足联总部位于()。
简述赫尔巴特的教学理论。【2012年-天津师大】【2015年-北师大】【2019年-苏州大学】
TheemploymentdiscriminationlawsuitagainstWal-Mart,whichtheSupremeCourtheardlastweek,isthelargestinAmericanhist
最新回复
(
0
)