使用 c 语言 输出1-100间的素数。要求:每行输出5个数,每个数占6位。
时间: 2024-10-26 09:03:12 浏览: 31
C语言编程训练:循环结构-求阶乘末尾零个数
要使用C语言输出1到100之间的素数,你可以采用埃拉托斯特尼筛法(Sieve of Eratosthenes)。下面是一个简单的示例代码,它按照您的要求每行输出五个素数,每个数字占六位:
```c
#include <stdio.h>
// 判断是否为素数的辅助函数
int is_prime(int num) {
if (num <= 1)
return 0;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return 0;
}
return 1;
}
void print_primes(int start, int end, int count_per_line) {
// 初始化一个数组记录所有数字是否为素数
int primes[end - start + 1];
for (int i = 0; i <= end; i++)
primes[i] = 1;
primes[0] = primes[1] = 0; // 0和1不是素数
// 筛选出素数
for (int i = 2; i * i <= end; i++) {
if (primes[i]) {
for (int j = i * i; j <= end; j += i)
primes[j] = 0;
}
}
int index = 0;
for (int i = start; i <= end && index < count_per_line; i++) {
if (primes[i]) {
printf("%06d", i); // 输出六位数的素数
if ((index + 1) % count_per_line == 0)
printf("\n"); // 每五位数换一行
index++;
}
}
}
int main() {
print_primes(1, 100, 5);
return 0;
}
```
当你运行这个程序,它会打印出从1到100之间,每行五个占据六个字符位置的素数。
阅读全文