2021-11-09用数组存放一个区间内的全部素数(c语言)

#include <stdio.h>
#define MAX 100000
int calculatePrime(int lim,int aa[]);
int sushu(int N);
int main(){
	int cnt,lim,aa[MAX];
	scanf("%d",&lim);
	int i=calculatePrime(lim,aa);
	for(cnt=0;cnt<i;cnt++){
		printf("%d ",aa[cnt]);
	}
	return 0;
}
int sushu(int N){
	int cnt,flag=1;
	for(cnt=2;cnt<=sqrt(N);cnt++){
		if(N%cnt==0 && cnt!=N){
			flag=0;
			break;
		}
	}

	return flag;
}
int calculatePrime(int lim,int aa[]){
	int cnt,i=0;
	for(cnt=2;cnt<=lim;cnt++){
		int flag=sushu(cnt);
		if(flag==1){
			aa[i]=cnt;
			i++;
		}
	}
	return i;
}

未知输入量,可以像这样子在函数里记录下有意义的值到哪里返回主函数,或者传个指针也行

猜你喜欢

转载自blog.csdn.net/just_a_fresh_man/article/details/121221015