首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列程序的功能是:在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
33
问题
下列程序的功能是:在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全国计算机三级
相关试题推荐
假设某CPU的一个总线周期为50ns,时钟周期为、2ns,所访问的主存的存取速度为60ns,为了正确读出内存中的指令和数据,须在总线周期中插入的等待状态个数是()。
在ARM处理器中,作为记录程序状态的寄存器是【49】,其中状态位T的作用是在ARM状态与Thumb状态间进行切换,当T=1时处理器处于的状态是【50】状态。
所有嵌入式系统都是由硬件和软件两部分组成的,硬件部分的主体是【41】和存储器;它们通过【42】接口(设备)与外部世界联系。
在ARM汇编语言程序设计中,经常用到分支程序设计,以下不属于分支指令的是()。
关于ARM嵌入式处理器的工作状态,以下说法正确的是()。
某机械设备的控制器,其基本功能要求有:需要有8个数字量输入,用于采集设备的状态信息;且需要8个数字量输出,用于控制设备动作。具备一个RS一232接口,可以和上位机连接,接收上位机发送的命令及参数。需要提供一个基准定时信号,定时时间间隔为0.01秒。
嵌入式Linux操作系统由用户进程、OS服务组件和Linux内核3个部分组成,下面叙述中错误的是()。
某机械设备的控制器,其基本功能要求有:需要有8个数字量输入,用于采集设备的状态信息;且需要8个数字量输出,用于控制设备动作。具备一个RS一232接口,可以和上位机连接,接收上位机发送的命令及参数。需要提供一个基准定时信号,定时时间间隔为0.01秒。
Armstrong公理系统中有一条推理规则为:若X→Y为F所逻辑蕴涵,且,则XZ→YZ为F所逻辑蕴涵。这条推理规则称作【】
数据组织方法中的层次方法是基于哪种结构的数据操作集合、完整性规则集合?
随机试题
试述凯登制约政府官员腐败的方法。
熔化极氩弧焊焊接铝及其合金时,形成焊缝气孔的倾向与同样保护气氛条件下的手工钨极氩弧焊相比()。
可以直接影响方剂功用的因素是
甲乙丙三人共同实施故意杀人,一审法院判处甲死刑立即执行、乙无期徒刑、丙有期徒刑10年。丙以量刑过重为由上诉,乙未上诉,检察院未抗诉。关于本案的第二审程序,下列哪一(些)选项是正确的?
(2011)已知用卡诺图化简逻辑函数的结果是,那么,该逻辑函数的无关项至少有()。
某项目设计生产能力为100万吨。在达产年份,预计销售收入为4500万元,固定成本为800万元,可变成本为2450万元,均不含增值税,销售税金及附加为50万元,则下列说法正确的有()
甲向乙发出一份推销水泥的要约,其中规定乙方须在10日内作出答复。该要约不得撤销。()
职工发生事故伤害,所在单位应当自事故发生起向统筹地区的()提出工伤认定申请。
陈老师在进行一次班干部竞选中,家长给陈老师送礼,请求照顾一下自己的孩子,陈老师予以拒绝。陈老师的这种做法体现了()。
下列程序的输出结果是 publicclassfff{ voidprintValue(intm){ do{System.out.println("Thevalueis"+m); } whil
最新回复
(
0
)