首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列程序的功能是:在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
80
问题
下列程序的功能是:在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全国计算机三级
相关试题推荐
下面哪个中断不是内部中断?______
在μC/OS-II启动过程中,BootLader执行完毕后,执行应用程序主文件中main()时,依次执行的三个主要的函数是:①OSInit();②【67】_______;③【68】_______。
在ARM汇编语言中,小端模式下,通过伪指令MyDataDCD0x01234567在内存中定义了1个32位操作数,已知R0=0x56000012,则依次执行:LDRR1,=MyDataLDRHR0,[R1,#2]两条指令后,R0的值
μC/OS—II具有良好的可裁剪性和可移植性,能够支持的任务数最多为()。
在ARM处理器中,作为记录程序状态的寄存器是【49】,其中状态位T的作用是在ARM状态与Thumb状态间进行切换,当T=1时处理器处于的状态是【50】状态。
μCOS—Ⅱ操作系统的下面4个主要函数中,只有一个是与任务调度相关的,它是()。
GNU开发工具套件中包含了编译器、连接器、调试器等工具,其中GCC是编译器、连接器工具,【77】是调试器工具。若要对某应用程序进行调试,则在编译该应用程序时,要在编译命令中加人参数【78】。
【69】系统是苹果公司智能手机所使用的操作系统,也使用在iPodtouch、iPad等产品上,按照内核结构分类,它属于【70】内核操作系统。
若以S3C2410为核心的目标机上,已经移植成功Linux操作系统。若要开发该目标机的Linux应用程序,通常使用arm—linux一【79】交叉编译器来编译应用程序。若要对一个应用程序进行调试排错,则应该在编译命令中加【80】参数对它进行编译。
某食堂的售饭系统由一个后台数据库系统及若干个前台刷卡机组成,其基本功能具体描述如下:a、刷卡机的硬件组成中,除了必须的最小硬件系统外,还需要IC卡读写模块、8段LED组成的显示模块、键盘模块、蜂鸣器模块、RS-485通信模块等。b、客户需要事先办理本系
随机试题
卧式分离器与立式分离器相比,()。
以下除()外,其他都是图像文件格式。
下列药物与闭塞性细支气管炎伴机化性肺炎有关,除去
熟悉常用中成药应用的性能特点,根据药品说明书自主选用中成药对于疾病的治疗具有重要意义。有关鼻炎康片描述不正确的是
涉外民商事案件的审理,程序法的适用十分重要。我国法律对涉外民事案件诉讼程序作出了许多规定。下列选项中哪些选项属于我国法律所作出的规定?
()又可以称为索赔进口货物。
甲公司20×4年财务报告于20×5年3月20日对外报出,其于20×5年发生的下列交易事项中,应作为20×4年资产负债表日后调整事项处理的有()。(2015年)
()强调教育目的应围绕文化这一范畴来进行,用“文化”来统筹教育、社会、人三者之间的关系。
“天地英雄气,千秋尚凛然。”无论哪一个时代,英雄的事迹和精神都是________社会前行的强大力量。期盼“崇尚英雄”________,光荣永远传承,英雄永不独行。填入画横线部分最恰当的一项是()。
Whydosomanypeoplebecomedependentoncigarettes?
最新回复
(
0
)