详细代码如下:
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#define MAX 100
int fun(int lim, int aa[MAX])
{
/*
analyse:
遍历出小于或等于lim的素数;
存入aa[]数组中;
return 素数个数;
*/
int i ,j ,k = 0;
for(i = 2; i <= lim; i++)
{
for(j = 2; j<i; j++)
if(i % j == 0)
break;
if(j >= i)
aa[k++] = i;
}
return k;
/* ERROR:
int i,j,k = 0;
for(i = 2; i<=lim; i++)
{
for(j = 2; j < i; j++)
{
if(i%j == 0) //判断是素数
break;
}
aa[k] = i;
}
return k;
*/
}
void main()
{
FILE *wf;
int limit,i,sum;
int aa[MAX];
system("CLS");
printf("输入一个整数:");
scanf("%d",&limit);
sum=fun(limit,aa);
for(i=0;i<sum;i++)
{
if(i%10==0&&i!=0) /*每行输出10个数*/
printf("\n ");
printf("%5d ",aa[i]);
}
/******************************/
wf=fopen("out.dat","w");
sum=fun(15,aa);
for(i=0;i<sum;i++)
{
if(i%10==0&&i!=0) /*每行输出10个数*/
fprintf(wf,"\n");
fprintf(wf,"%5d ",aa[i]);
}
fclose(wf);
/*****************************/