题目要求输出小于n的所有素数,每行输出10个。素数是只能被1和自身整除的正整数,注意1不是素数。 解题思路: 首先,我们需要判断一个数是否为素数。可以用一个循环从2到这个数的平方根,判断是否能被整除。如果不能被整除,则是素数。 其次,我们需要输出小于n的所有素数。可以用一个循环从2到n-1,判断每个数是否为素数,如果是素数则输出。同时,每输出10个素数就换行。 c语言编写
时间: 2024-03-08 17:47:43 浏览: 112
好的,那么我给您提供一个 C 语言版本的代码实现。代码如下:
```
#include <stdio.h>
#include <math.h>
// 判断一个数是否为素数
int isPrime(int n) {
if (n <= 1) return 0;
int sqr = sqrt(n);
for (int i = 2; i <= sqr; i++) {
if (n % i == 0) return 0;
}
return 1;
}
int main() {
int n;
printf("请输入一个正整数n:");
scanf("%d", &n);
int count = 0;
for (int i = 2; i < n; i++) {
if (isPrime(i)) {
printf("%d ", i);
count++;
if (count % 10 == 0) printf("\n");
}
}
printf("\n");
return 0;
}
```
这段代码与前面的 C++ 版本实现类似,都是先定义了一个判断素数的函数 isPrime(),然后在主函数中循环判断小于 n 的数是否为素数,同时输出每个素数并且每输出 10 个就换行。唯一的区别就是 printf() 和 scanf() 函数的使用方式与 C++ 中的 cout 和 cin 稍有不同。
阅读全文