从键盘上输入一个大于100小于1000的数N,输出从100到N之间的所有素数,要求10个为一行进行排列,并统计这些素数的个数
时间: 2024-12-23 11:16:00 浏览: 6
为了实现这个功能,我们可以编写一个C程序,使用嵌套循环和一些基本的素数检查逻辑。首先,我们需要一个函数来判断一个数是否是素数。然后,我们可以获取用户输入并遍历指定范围内所有的数,如果是素数则按行打印出来,并计数。以下是代码示例:
```c
#include <stdio.h>
#include <stdbool.h>
// 判断一个数是否是素数
bool is_prime(int num) {
if (num <= 1)
return false;
if (num == 2 || num == 3)
return true;
if (num % 2 == 0 || num % 3 == 0)
return false;
for (int i = 5; i * i <= num; i += 6) {
if (num % i == 0 || num % (i + 2) == 0)
return false;
}
return true;
}
int main() {
int N, count = 0;
printf("请输入一个大于100且小于1000的数(N): ");
scanf("%d", &N);
for (int num = 100; num <= N; ++num) {
if (is_prime(num)) {
printf("%d ", num); // 输出素数
count++; // 统计素数个数
if ((count % 10) == 0) { // 每打印10个数换行
printf("\n");
}
}
}
printf("\n在100到%d之间共有%d个素数。\n", N, count);
return 0;
}
```
当你运行这个程序时,它会提示你输入一个数N,然后按照要求输出100到N之间的素数及其个数。
阅读全文