C语言中#!/bin/bash read n for ((i=2;i<=n;i++)) do flag=0 for ((j=2;j<i;j++)) do if [ $((i%j)) -eq 0 ] then flag=1 break fi done if [ $flag -eq 0 ] then echo -n "$i " >> out.txt cnt=$((cnt+1)) if [ $((cnt%5)) -eq 0 ] then echo >> out.txt fi fi done
时间: 2024-01-27 08:03:50 浏览: 66
shell中第一行#!_bin_bash的作用
抱歉,我之前的回答有误,#!/bin/bash是Shell脚本的文件头,不应该出现在C语言代码的开头,这个是用来告诉操作系统这个脚本需要使用bash来执行。
下面是C语言程序的答案:
```c
#include <stdio.h>
int main() {
int n, cnt = 0;
scanf("%d", &n);
FILE *fp = fopen("out.txt", "w");
for (int i = 2; i <= n; i++) {
int flag = 0;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
flag = 1;
break;
}
}
if (flag == 0) {
fprintf(fp, "%d ", i);
cnt++;
if (cnt % 5 == 0) {
fprintf(fp, "\n");
}
}
}
fclose(fp);
return 0;
}
```
其中,我们首先读入一个正整数n,然后从2开始循环到n,对于每个数i,我们使用一个内层循环判断它是否为素数。如果i是素数,就将它输出到out.txt文件中,每行输出5个素数。最后得到的out.txt文件中即是[1-n]之间的所有素数。
阅读全文