设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 2087|回复: 5
收起左侧

[其他] 计算机网络技术上机考试典型题型

[复制链接]
发表于 2012-6-6 14:35:18 | 显示全部楼层 |阅读模式
一:3位整数
下列程序的功能是:在3位整数(100至999)中寻找符合下面条件的整数,并依次从小到大存入数组b中;它既是完全平方数,又有两位数字相同,例如144,676等。
请编制函数int jsValue(int bb[])实现此功能,满足该条件的整数的个数通过所编制的函数返回。
最后调用函数writeDat()把结果输出到文件OUT88.DAT中。
【答案】
int jsValue(int bb[ ])
{
int i,j;   /*定义循环控制变量*/
int cnt=0;  /*定义计数器变量*/
int a3,a2,a1;   /*定义变量存储3位数每位的数字*/
for(i=100;i<=999;i++)  /*在该范围中找符合条件的数*/
  for(j=10;j<=sqrt(i);j++)
if(i==j*j)    /*如果该数是完全平方数*/
{
   a3=i/100;  /*求该数的百位数字*/
   a2=i%100/10;  /*求该数的十位数字*/
   a1=i%10;    /*求该数的个位数字*/
   if(a3==a2 || a3==a1 || a2==a1) /*若有两位数字相同*/
{
  bb[cnt]=i;      /*则把该数存入数组bb中*/
cnt++;           /*统计满足条件的数的个数*/
}         
}
}
return cnt;  /*返回满足该条件的整数的个数*/
}
【解析】解答本题,首先应该考虑用一个for循环来依次取得100到999之间的各个数,接着我们再利用一个循环用10以上的两位数逐个去拆被判断的数,如果被判断的数恰好可以被完全拆分,则该数是一个完全平方数,接着就开始依次求得被判断的数的百位、十位、个位上的数值,看是否有两位数字相同。把满足条件的数存入数组bb中,并用计数器变量cnt来统计满足条件的数的个数。最后将cnt作为函数值返回。




游客,如果您要查看本帖隐藏内容请回复

发表于 2012-12-21 12:42:42 | 显示全部楼层
好东西 我来顶上去
沙发 2012-12-21 12:42:42 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-4-2 14:52:51 | 显示全部楼层
板凳 2013-4-2 14:52:51 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-4-17 11:59:41 | 显示全部楼层
地板 2013-4-17 11:59:41 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-6-25 20:28:38 | 显示全部楼层
111
5# 2013-6-25 20:28:38 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-6-26 20:52:09 | 显示全部楼层
6# 2013-6-26 20:52:09 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-1-24 08:32 , Processed in 0.057051 second(s), 11 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表