首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列程序的功能是:在3位整数(100至999)中寻找符合下面条件的整数,并依次从小到大存入数组b中;它既是完全平方数,又有两位数字相同,例如144,676等。 请编制函数int jsValue(int bb[])实现此功能,满足该条件的整数的个数通过
下列程序的功能是:在3位整数(100至999)中寻找符合下面条件的整数,并依次从小到大存入数组b中;它既是完全平方数,又有两位数字相同,例如144,676等。 请编制函数int jsValue(int bb[])实现此功能,满足该条件的整数的个数通过
admin
2009-02-15
53
问题
下列程序的功能是:在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局域网参考模型只对应OSI参考模型的数据链路层与()。
综合布线采用高品质的材料和组合压接的方式构建传输通道。所有线槽和相关连接均通过ISO认证,每条通道都要采用专用仪器测试链路阻抗及衰减率,这是确保综合布线系统的()。
______使用4对3类非屏蔽双绞线,3对用于传送数据,1对用于检测冲突信号。
从技术角度来看,接入网的接入方式主要包括()①地面有线通信系统②无线通信③卫星通信网④有线电视网⑤地面广播电视网⑥移动通信网
下列选项中,不属于家庭计算机用户上网可使用的技术是()。
下列选项中,叙述不正确的是()。
如果不想公布网络中的某些RIP信息,可以采用被动接口配置。将路由器RouterA的FastEthemet0/0接口设置为被动接口的配置语句是()。
一台交换机的生成树优先级是12288,若要将优先级提高一级,那么优先级的值应该设定为______。
随机试题
德国人甲在中国购买中国乙企业资产,双方签订认购合同,该合同应适用()
50岁,既往体健,查体时发现肝在右季肋下2cm,质硬、无压痛,脾可触及,锌浊度试验20单位,ALT正常范围,肝穿刺病理有假小叶形成,应诊断为
烧伤暴露疗法护理中除哪一项外都是正确的()
患者,男,70岁。呼吸浅短难续,声低气怯,咳嗽,痰白如沫,咯吐不利,胸闷心慌,汗出,腰膝酸软,小便清长,舌淡,脉沉细数无力。问题3:其证候是
A.孤立性肾囊肿B.多发性肾囊肿C.多囊肾D.肾盂肾盏囊肿E.髓质海绵肾
沉香的用法及用量,叙述正确的是
()反映了市场的利率期限结构,对于收益率曲线不同形状的解释产生了不同的期限结构理论。
在Word2007的编辑状态中,如果要输入罗马数字“Ⅸ”,那么需要使用的选项卡是()。
IfyoutravelinsomeareasinIndia,youwillbeluckyenoughtobewaitedonbyspecialguide-monkeys.【B1】inwaistcoat(马甲)
A、WatchingTV.B、Knittingsocks.C、Chattingwithneighbors.D、Doinghousework.BWhatdoesthemanthinkisthelatesthobbyoft
最新回复
(
0
)