2013年计算机三级网络技术上机模拟题及答案解析三十八_第2页

考试站(www.examzz.com)   【考试站:中国教育考试第一门户】   2013年5月29日
  【答案】
  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作为函数值返回。
首页 1 2 尾页

相关文章