/*请编写函数fun,其功能是:计算并输出3到n之间所有素数的平方根之和。 例如,若主函数从键盘给n输入100后,则输出为sum=148.874270。 注意:n的值要大于2但不大于1000。部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:*/ #include<stdio. h> #include<stdlib. h> #include<math. h> double fun(int n) { / ************Begin*************/ / End */ } int main() {int n; double sum; FILE *out,*in; printf("Input N="); scanf("%d",&n); sum=fun(n); printf(″|n|nsum=∖!1f∖n∖n″,sum); 1 in=fopen(″in36.dat″,″); out=fopen(″out36.dat″,"″) fscanf(in,"%d\n",&n); fprintf(out,"%1f\n",fun(n)); fclose(in); fclose(out); /*************************** */ system("pause"); return 0; }
时间: 2023-06-03 10:02:57 浏览: 398
#include <stdio.h>
#include <math.h>
int prime(int n) { // 判断是否为素数
if (n < 2) {
return 0;
}
for (int i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
void fun(int n) {
double sum = 0.0; // 定义并初始化sum
for (int i = 3; i <= n; i++) {
if (prime(i)) { // 如果i是素数
sum += sqrt(i); // 将i的平方根加入sum中
}
}
printf("sum=%.6lf", sum); // 输出结果
}
int main() {
int n;
printf("Please enter a number: ");
scanf("%d", &n);
fun(n);
return 0;
}
相关问题
/*请编写函数fun,其功能是:计算并输出3到n之间所有素数的平方根之和。 例如,若主函数从键盘给n输入100后,则输出为sum=148.874270。注意:n的值要大于2但不大于1000。部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序:*/ #include<stdio.h> #include<stdlib.h> #include<math.h> double fun(int n)
```c
double fun(int n)
{
int i, j, flag;
double sum = 0;
for (i = 3; i <= n; i++)
{
flag = 1;
for (j = 2; j <= sqrt(i); j++)
{
if (i % j == 0)
{
flag = 0;
break;
}
}
if (flag == 1)
{
sum += sqrt(i);
}
}
return sum;
}
```
请编写函数fun,其功能是:计算并输出3到n之间所有素数的平方根之和。 例如,若主函数从键盘给n输入100后,则输出为sum=148.874270。 注意:n的值要大于2但不大于1000。
以下是函数fun的代码实现:
```
#include <stdio.h>
#include <math.h>
double fun(int n) {
double sum = 0.0;
for (int i = 3; i <= n; i++) {
int is_prime = 1;
for (int j = 2; j <= sqrt(i); j++) {
if (i % j == 0) {
is_prime = 0;
break;
}
}
if (is_prime) {
sum += sqrt(i);
}
}
return sum;
}
int main() {
int n;
double sum;
printf("Input N: ");
scanf("%d", &n);
sum = fun(n);
printf("sum = %lf\n", sum);
return 0;
}
```
在函数fun中,我们使用了和前面相同的方法来判断一个数字是否为素数,然后将素数的平方根加到sum中。在主函数中,我们首先从键盘输入n,然后调用fun函数计算sum并输出结果。需要注意的是,当n小于等于2或大于1000时,程序并不会给出正确的结果。
阅读全文