8(求<=lim的所有素数并放入数组中)

在这里插入图片描述详细代码如下:

#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);
/*****************************/


猜你喜欢

转载自blog.csdn.net/weixin_44856544/article/details/115222181