首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列程序的功能是:在3位整数(100至999)中寻找符合下面条件的整数,并依次从小到大存入数组b中;它既是完全平方数,又有两位数字相同,例如144,676等。 请编制函数int jsValue(int bb[])实现此功能,满足该条件的整数的个数通过
下列程序的功能是:在3位整数(100至999)中寻找符合下面条件的整数,并依次从小到大存入数组b中;它既是完全平方数,又有两位数字相同,例如144,676等。 请编制函数int jsValue(int bb[])实现此功能,满足该条件的整数的个数通过
admin
2009-02-15
66
问题
下列程序的功能是:在3位整数(100至999)中寻找符合下面条件的整数,并依次从小到大存入数组b中;它既是完全平方数,又有两位数字相同,例如144,676等。
请编制函数int jsValue(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
);
fclose(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/xPfZ777K
本试题收录于:
三级信息管理技术题库NCRE全国计算机三级分类
0
三级信息管理技术
NCRE全国计算机三级
相关试题推荐
IEEE802.11b的实际吞吐量是()。
下列选项中,哪一种不屈于划分VLAN的方法()。
交换式局域网增加带宽的方法是在交换机多个端口之间建立()。
下列选项中,属于基本型综合布线系统的配置是()。
局域网从介质访问控制方法角度分为两类:共享介质局域网和______。
非对称数字用户线ADSL中的“非对称”是指()。
在某路由器上已经配置了一个访问控制列表1,并且使用了防火墙功能。现在需要对所有通过Seria10接口的数据包使用规则1进行过滤。如下可以达到要求的是()。
用户目录访问选项中,访问权限分哪几类,需要分别设置()。
A、 B、 C、 D、 D数据库服务器相比文件服务器效率要高,一般采用客户/服务器(client/Server)工作模式,如Oracle、Sybase、SQLServer数据管理系统;客户程序使用SQL语言
A、 B、 C、 D、 AIPv6共有8个位段,每个位段有16个二进制数,现在题中已有3个位段,所以省略的二进制0的位数有(8—3)×16=80。
随机试题
2013年3月18日,甲机械公司与乙融资租赁公司接洽融资租赁某型号数控机床事宜。同年4月1日,乙按照甲的要求与丙精密设备公司签订了购买1台某型号数控机床的买卖合同。丁以乙的保证人身份在该买卖合同上签字,但合同中并无保证条款,丙和丁亦未另行签订保证合同。乙和
剖腹产常用的切口部位()
男,28岁。少尿、水肿、呕吐一个月余,7岁时曾发现尿蛋白阳性,血压180/120mmHg,尿蛋白(+++),红细胞5—10个/HP,白细胞3~5个/HP,BUN30mmol/L,血肌酐860~mmol/L,血红蛋白65g/L。初步诊断为
女性,42岁,既往健康,近2个月出现巩膜、皮肤黄染,呈进行性加重,无腹痛,略消瘦,体检见肝肋下可触及,右上腹扪及肿大之胆囊,无触痛,无发热。如黄疸性质为梗阻性,欲明确梗阻部位,选择下列哪项检查手段为最优
项目实施后的实际结果可能与基本方案产生偏差,主要原因是()。
【2008年真题】关于投资方案经济效果评价指标的说法中,正确的有()。
“利润分配”科目下设置的“提取任意盈余公积”属于()。
关于法律解释的方法和种类,下列表述正确的有()。
Stocksfinishedmixedinpost-holidaytradingyesterdayasWallStreetmeanderedthroughashortenedsession.(46)Themajorinde
JohnWaltersisthedirectoroftheUSOfficeofNationalDrugControlPolicy.HethinksthatmanyEuropeangovernmentsaretoo
最新回复
(
0
)