C语言从键盘上输入一个大于100小于1000的数N,输出从100到N之间所有的素数,这些素数要求10个一行进行排列,并统计这些素数的个数。
时间: 2024-02-12 17:08:54 浏览: 21
好的,以下是 C 语言代码实现:
```c
#include <stdio.h>
int is_prime(int num) {
if (num < 2) {
return 0;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n, count = 0;
printf("请输入一个大于100小于1000的数N:");
scanf("%d", &n);
for (int i = 100; i <= n; i++) {
if (is_prime(i)) {
count++;
printf("%d ", i);
if (count % 10 == 0) {
printf("\n");
}
}
}
printf("\n100到%d之间的素数个数为:%d\n", n, count);
return 0;
}
```
代码解释:
1. `is_prime` 函数用于判断一个数是否为素数。如果小于 2,返回 0。否则,从 2 到该数的平方根遍历,如果能被整除,则返回 0,否则返回 1。
2. 读取输入的数 `n`。
3. 遍历从 100 到 `n` 之间的所有数,如果是素数,则输出,并将计数器 `count` 加 1。
4. 如果 `count` 是 10 的倍数,则换行。
5. 最后输出素数的个数。
注意事项:
1. 输入的数必须大于 100 小于 1000,否则程序会出错。
2. 为了方便测试,此代码在输出素数时没有对齐,实际使用时可以根据需要进行修改。