酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

键入M和N两个正整数(m<=n),打印出M与N之间所有的素数。要求5个素数打印一行,最后一行打印共有多少个素数以及这些素数之和。程序名test2.c。

以下是使用 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; } int main() { int m, n; printf("请输入两个正整数(m<=n):"); scanf("%d %d", &m, &n); int count = 0; // 素数个数 int sum = 0; // 素数之和 int numInLine = 0; // 每行已打印的素数个数 for (int i = m; i <= n; i++) { if (isPrime(i)) { printf("%d ", i); sum += i; count++; numInLine++; if (numInLine == 5) { printf("\n"); numInLine = 0; } } } printf("\n 共有 %d 个素数,它们的和为 %d\n", count, sum); return 0; } ``` 额外需要注意的逻辑点: 1. 注意输入的数要确保是正整数。 2. 在判断素数时,循环的终止条件可以优化。 3. 考虑对边界情况,如 2 等特殊素数的处理。 [2025-05-19 08:27:38 | AI写代码神器 | 377点数解答]

相关提问