C语言显示给定整数M和N区间内素数并对它们求和

显示给定整数M和N区间内素数并对它们求和

输入格式:

在一行输入两个正整数M和N(1≤M≤N≤1000)。

输出格式:

显示指定范围的素数,素数间空一格,每五个换一行。
单独一行输出素数的个数及素数的和。

输入样例:

在这里给出一组输入。例如:

4 30

输出样例:

在这里给出相应的输出。例如:

5 7 11 13 17
19 23 29
amount=8 sum=124

案例代码

#include <stdio.h>

int is_prime(int num)  // 判断是否是素数
{
    for (int i = 2; i < num; i++)
    {
        if (num % i == 0)
        {
            return 0;
        }
    }
    return 1;
}

int main()
{
    int m, n;
    printf("请输入区间范围(两个正整数,用空格隔开):");
    scanf("%d %d", &m, &n);

    int count = 0;  // 素数个数
    int sum = 0;    // 素数和
    for (int i = m; i <= n; i++)
    {
        if (is_prime(i))
        {
            printf("%d ", i);
            count++;
            sum += i;
            if (count % 5 == 0)
            {
                printf("\n");
            }
        }
    }

    printf("\namount=%d sum=%d\n", count, sum);

    return 0;
}

实现说明:

  1. 使用 scanf 输入区间范围。
  2. 编写 is_prime 函数用于判断一个数是否是素数,遍历从2到该数减1的所有数,如果能整除其中一个数,则不是素数,返回0;否则是素数,返回1。
  3. 从M到N遍历所有整数,判断是否是素数,如果是则输出并累加素数个数和素数和。同时,每输出5个素数就换行。
  4. 输出素数个数和素数和。
© 版权声明
THE END
喜欢就支持一下吧
点赞7赞赏 分享