请编写函数countValue(),其功能是;选出100~1000 M的所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数(如191)。计算并输出上述这些素数的个数count,以及这些素数值的和sum。函数WriteData()负责把结果输出到O

admin2012-07-20  37

问题 请编写函数countValue(),其功能是;选出100~1000 M的所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数(如191)。计算并输出上述这些素数的个数count,以及这些素数值的和sum。函数WriteData()负责把结果输出到OUT.DAT文件中。
注意;部分源程序已给出。
请勿改动主函数main()和写函数WriteData()的内容。
试题程序;
#include
int count,sum;
void WriteData();
void countValue()
{
}
void main()
{
  count=sum=0;
  countValue();
  printf("count=%d,sum=%d\n",count,sum);
  WriteData();
}
void WriteData()
{
  FILE*fp;
  fp=fopen("OUT.DAT","w");
  fprintf(fp,"%d\n%d\n",count,sum);
  fclose(fp);
}

选项

答案 void countValue() { int i,j,d[3],flag; for(i=100;i<1000;i++) { flag=0; for(j=2;j
解析 本题主要考查素数的判断及数位分解问题。1.判断是否为素数;素数的定义是;若一个数除了其自身和1再没有其他的除数,则该数就是素数。故用其定义可以很容易判断。在2到所判断数之间的数进行扫描,若有一个除数,则该数就不是素数。2.数位分解;将n位数上各个位上的数值单独分离出来。解决此问题的方法是;将n位数对10求余可以将个位上的数值分离出来。将这个n位数除以10以后得到一个n-1位数,则此时n位数原来的10位就变成了n-1位数的个位,再将此n-1位数对10求余便可得到原n位数的十位。依此类推,按照同样的方法便可将n位数各个位上的数值分离出来。
转载请注明原文地址:https://kaotiyun.com/show/l24Z777K
0

最新回复(0)