用C语言做出 作者 颜晖输出素数,每个数占6位,每行输出10个。如果最后一行输出的素数个数不到10个,也需要换行。
时间: 2024-10-13 20:13:15 浏览: 42
在C语言中,你可以使用循环结构和条件判断来完成这个任务。这里是一个简单的例子,展示了如何生成并打印2到指定整数n之间的素数:
```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 n) {
int count = 0; // 记录当前行的素数个数
int current_num = 2; // 当前检查的数字
while (count < 10 && current_num <= n) {
if (is_prime(current_num)) {
printf("%06d", current_num); // 打印6位数的素数
count++;
if (count % 10 == 0) { // 每打印10个换行
printf("\n");
} else {
printf(" "); // 补充空格,保持对齐
}
}
current_num++;
}
// 如果最后一个行的素数个数小于10,额外补足空格
while (count < 10) {
printf(" ");
current_num++;
count++;
}
printf("\n");
}
int main() {
int input_num;
printf("请输入一个整数: ");
scanf("%d", &input_num);
print_primes(input_num);
return 0;
}
```
运行这个程序时,用户会被提示输入一个整数,然后程序将输出2到该整数之间的素数,按照每行10个的格式。如果最后的行少于10个素数,则会在剩余的位置加上空格保证对齐。
阅读全文