首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列程序的功能是:在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
26
问题
下列程序的功能是:在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://jikaoti.com/ti/8ZC7FFFM
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
通常情况下,一个外中断服务程序的第一条指令是STI,其目的是______。
Window98中包含了两种调度程序:主调度程序和【 】,它们共同协调,控制着多个进程的运行。
操作系统可分为批处理操作系统、实时操作系统、个人计算机操作系统、网络操作系统及______。
下面关于USB的叙述中,错误的是:
下面程序段中,当满足条件转到NEXT标号执行时,AL中的值正确的是______。 CMP AL,0FBH JNL NEXT … NEXT......
下列选项中用于完成创建任务的自用栈空间的μC/OS—Ⅱ程序源代码的是()。
按照嵌入式系统的技术复杂程度进行分类,可以把嵌入式系统分为低端系统、中端系统和高端系统三大类。下面关于低端嵌入式系统特性的叙述中错误的是()。
在ARM汇编语言程序设计中,经常用到分支程序设计,以下不属于分支指令的是()。
若基于Linux操作系统所开发的ARM应用程序源文件名为test.c,那么要生成该程序代码的调试信息,编译时使用的CCC命令正确的是()。
在关系模型中,若属性A是关系R的主码,则在R的任何元组中,属性A的取值都不允许为空,这种约束称为()规则。
随机试题
当前超声发展的热点技术,下列哪项不是:
A.指疾病或损伤发生之后,采取积极主动的措施防止发生并发症及功能障碍或继发性残疾的过程B.预防可能导致残疾的各种损伤或疾病,避免发生原发性残疾的过程C.脑血管意外之后,早期进行肢体的被动活动以预防关节挛缩,采取合适的体位避免挛缩畸形D.残疾已经发生,
表面红棕色或暗红色,断面皮部棕红色,木部灰黄色或紫褐色,气微。此药材是
A.亮氨酸B.丙氨酸C.酪氨酸D.天冬氨酸E.甘氨酸属于必需氨基酸的是
材料应进行严格的质量控制,凡涉及工程安全及使用功能的有关材料应经()检查认可。
由于铁路隧道施工测量的各项测量工作中都存在误差,导致相向开挖中具有相同贯通里程的中线点在空间不相重合,此两点在空间的连接误差在水平面垂直于中线方向的分量称为()。
建设项目按()角度进行分类。
期货公司在申请金融期货全面结算业务资格的近2年内因违法违规经营受到刑事处罚,但是只要变更了控股股东或者实际控制人并且变更50%的高级管理人员,就可以申请金融期货全面结算业务资格。()
2015年是联合国成立70周年,下列有关联合国的说法,正确的是()。
A、Theydonotknowanysolution.B、Theydonotgiveupdrunkdriving.C、Theydonotbehaveinpublicplaces.D、Theydonotadmit
最新回复
(
0
)