输出 2~n之间所有素数,并求和,n由键盘输入。素数是只能被1和自身整除的整数。要求编写函数判断自然数x是否为素数

#include<stdio.h>
int IsPrime( int x);  //函数原型声明
int main()
{
    int n, sum;
    printf("Please input n(n>1):");
    scanf_s("%d", &n);
    sum = IsPrime(n);    //调用函数,将返回值存入sum
    printf("sum of prime numbers:%d", sum);
    return 0;
}
int IsPrime(int x)    //函数定义
{
    int i, n, h = 2;
    for (i = 2; i <= x; i++)
    {
        for (n = 2; n <= i; n++)
        {               
            if (n == 2 && i == 2)
            {
                printf("%d\n", 2);
            }
            else if (i % n == 0 && n != i - 1)
            {
                break;
            }
            else if (i % n != 0 && n == i - 1)
            {
                h = h + i;
                printf("%d\n", i);
                break;
            }



        }
    }
    return h;
}

关键在于素数的判断

这里可以不使用函数

使用嵌套循环。

测试用例:

 

 

注:编者水平有限,若有错误欢迎指正,或者有更好的解决办法欢迎提出讨论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值