C语言用一个函数,返回数字的质数之和
时间: 2023-06-03 14:02:37 浏览: 59
好的,以下是使用C语言编写一个能够返回数字的质数之和的函数:
```c
#include <stdio.h>
// 判断一个数是否为质数
int isPrime(int num) {
if (num <= 1) {
return 0;
}
for (int i=2; i*i<=num; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
// 计算从1到n的所有质数之和
int primeSum(int n) {
int sum = 0;
for (int i=1; i<=n; i++) {
if (isPrime(i)) {
sum += i;
}
}
return sum;
}
int main() {
int n;
printf("请输入一个数字n:");
scanf("%d", &n);
int sum = primeSum(n);
printf("从1到%d的所有质数之和是:%d", n, sum);
return 0;
}
```
希望能够帮到你!
相关问题
c语言用函数求一个数字是不是素数
以下是C语言代码实现:
```c
#include <.h>
#include <stdbool.h>
bool isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int num;
printf("请输入一个正整数:");
scanf("%d", &num);
if (isPrime(num)) {
printf("%d是素数\n", num);
} else {
printf("%d不是素数\n", num);
}
return 0;
}
```
函数`isPrime(n)`用于判断一个数字n是不是素数,如果n小于等于1,则返回false;否则,从2到n的平方根范围内遍历,如果n能被其中任意一个数整除,则返回false,否则返回true。
在`main()`函数中,首先获取用户输入的正整数num,然后调用`isPrime(num)`函数判断num是否为素数,并输出相应的结果。
c语言 用一个函数判断一个数是否是素数的代码
以下是用 C 语言编写的判断一个数是否是素数的函数代码:
```c
#include <stdio.h>
int isPrime(int num) {
int i;
// 数字小于2不能被判断为素数
if (num < 2) return 0;
// 遍历2到num-1之间的所有数
for (i = 2; i < num; i++) {
if (num % i == 0) {
// 只要存在一个能整除num的数,num就不是素数
return 0;
}
}
// 如果上面的循环中找不到能整除num的数,那么num就是素数
return 1;
}
int main() {
int num;
printf("请输入一个数字: ");
scanf("%d", &num);
if (isPrime(num)) {
printf("%d 是素数。\n", num);
} else {
printf("%d 不是素数。\n", num);
}
return 0;
}
```
在上面的代码中,`isPrime` 函数是用于判断一个数字是否是素数的。首先,对于小于2的数字,我们将其视为不是素数直接返回0。然后,我们从2开始遍历到num-1之间的所有数,如果能找到一个能整除num的数,那么num就不是素数,直接返回0。最后,如果上面的循环中找不到能整除num的数,那么num就是素数,返回1。
您可以把这个函数封装成一个独立的文件,然后调用它来判断每一个数字是否是素数。