请编写函数fun,其功能是:计算并输出3到n之间(含3和n)所有素数的平方根之和。例如,在主函数中从键盘给n输入100后,输出为:sum=148.874270。 注意: 要求n的值大于2但不大于100。部分源程序给出如下。 请勿改动

admin2017-01-11  31

问题 请编写函数fun,其功能是:计算并输出3到n之间(含3和n)所有素数的平方根之和。例如,在主函数中从键盘给n输入100后,输出为:sum=148.874270。
    注意:
    要求n的值大于2但不大于100。部分源程序给出如下。
    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
  【试题源程序】
  #include
  #include
  double fun(int n)
  {
  }
  main()
  {
    int n;
    double sum;
    printf("\n\nInput n:");
    scanf("%d",&n);
    sum=fun(n);
    printf("\n\nsum=%f\n\n",sum);
    }

选项

答案 double fun(int n) {while(n>2&&n<=100){int i,j; double s=0: for(i=3;i<=n;i++) { for(j=2;j<i;j++) if(i%j==0) break; if(j==i) s=s+sqrt(i); } return s;}return(-1); }

解析 程序是计算并输出3到n之间(含3和n)所有素数的平方根之和,所以fun应当具有判断一个数是否为素数的功能,可以利用sqrt()函数。
转载请注明原文地址:https://kaotiyun.com/show/AuID777K
0

相关试题推荐
最新回复(0)