计算机三级网络技术上机考试题(2)

时间:2024-09-04 02:44:15 学人智库 我要投稿
  • 相关推荐

计算机三级网络技术上机考试题(2)

  /*如果该数依次除以从2到其一半的整数,余数都不是0,则该数是素数*/

计算机三级网络技术上机考试题(2)

  if(data%i==0) /*如果余数为0*/

  break; /*则退出循环,取下一个数判断*/

  if(i>half)

  {

  xx[cnt]=data; cnt++; /*确定该数为素数后,将该数存入数组xx中,并累计素数的个数*/

  }

  if(cnt>=k) break; /*如果累计素数的个数超过了要求的个数,则退出循环*/

  data++; /*如果累计素数的个数小于要求的个数,则继续取下一个数*/

  }

  }

  【解析】在本题中,首先要结合相关数学知识找出判定一个数是否为素数的方法,从而对数据进行筛选。如果数a依次除以从2到a/2的整数,余数都不是0,则该数是素数。将符合条件的数存入数组xx中,使用计数器变量cnt来统计已经取得的数的个数。当cnt的值小于等于k时,即表示所获得素数的个数已经达到了要求,循环停止。

  第二题

  下列程序的功能是:在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;它既是完全平方数,又是两位数字相同,例如144、676等。请编制函数实现此功能,满足该条件的整数的个数通过所编制的函数返回。最后调用函数writeDat()把结果输出到文件out.dat中。请勿改动主函数main()和写函数writeDat()的内容。

  #include

  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(\"out.dat\",\"w\");

  fprintf(out,\"%d\\n\",num);

  for(i=0;i

  fclose(out);

  }

  -------------------------------------

  注:注意在i==(int)sqrt(i)*(int)sqrt(i)中只有当i是完全平方数时开平方后再取整才不会丢失任何数据。

  int jsvalue(int bb[])

  {

  int i,j,k=0,g,s,b;

  for(i=100;i<=999;i++)

  {

  g=i;

  s=i/10;

  b=i/100;

  if((i==(int)sqrt(i)*(int)sqrt(i))&&(g==s//s==b//b==g))

  bb[k++]=i;

  }

  return k;

  }

  int jsvalue(int bb[])

  {

  int i,k=0;

  for(i=100;i<=999;i++)

  if((int)sqrt(i)*(int)sqrt(i)==i && (i/100==i || i/100==i/10 || i/10==i))

  bb[k++]=i;

  return k;

  }

【计算机三级网络技术上机考试题(2)】相关文章:

计算机等级考试三级网络技术上机模拟试题(2)10-18

计算机等级考试三级上机考试流程(2)08-05

历年计算机三级网络技术笔试真题(2)06-03

计算机三级网络技术近年笔试试题及答案(2)10-13

全国计算机三级网络技术考试大纲08-20

计算机等级考试三级(C语言)上机考试试题总结08-18

历年计算机三级网络技术笔试真题(3)08-08

历年计算机三级网络技术笔试真题(4)08-09

计算机三级网络技术近年笔试试题及答案(3)10-26

全国计算机等级考试三级网络技术考试大纲08-15