判断是不是素数的函数写好了。题目是要求1到1000之间所有的函数。你可以再写一个函数,函数的功能是求1到某个整数之间的所有素数并打印。函数命名为print_prime_num。有一个int类型参数。返回值我们写为整型,返回素数的个数。 循环把2到这个数之间的每个整数,作为参数,传给上面写的函数is_prime_number(),如果是...
include<stdio.h>int main(){ char num[1001]; int i,n; memset(num,0x00,sizeof(num)); for(n=2;n<32;n++) for(i=2;i*n<1001;i++) num[i*n]=1; printf("1到1000素数为:\n"); for(i=2;i<1001;i++) if(num[i]==0) printf("%d\n...
题目是要求1到1000之间所有的函数。你可以再写一个函数,函数的功能是求1到某个整数之间的所有素数并打印。函数命名为print_prime_num。有一个int类型参数。返回值我们写为整型,返回素数的个数。 循环把2到这个数之间的每个整数,作为参数,传给上面写的函数is_prime_number(),如果是素数,就打印。 int print_prime...
int i = 0;for (i = 2; i <= 1000; i++){ if (prime(i)==1){ printf("%d ",i);} } return 0;}
int i,j;for(i=1;i<=1000;i++){ for(j=2;j=i/2)printf("%d ",i);} 素数就是只能被1和它本身整除。如果1到该素数的一半都没有被整除的,以后就没有能被整除的数了。
return 1;} else { return 0;} } void main(){ int N;cin>>N;//输入N,比如1000 int count = 0;for (int i = 2;i<=N;i++){ if(isprame(i))count++;} cout<<count<<endl;int *prame =(int *) malloc(sizeof(int)*count); //分配了一个动态数组 count = 0;for (i =...
main(){int i,count;for(i=501,count=0;i<1000;i++) //i初始化为501,count初始化为0{if(isPrime(i)) //调用素数判断函数{printf("%d ",i);count++;if(count%10 == 0)printf("\n"); //每输出10个便换行}}printf("\n501到1000之间有%d个素数\n",count);return 0;} ...
include <stdio.h>int main(){ int count = 1; // 1不是素数 2是素数 int x = 3; int y = 2; int flag = 1; for (x = 3; x <= 1000; x++) { // 从3开始判断 flag = 1; // 假定x是素数 for (y = 2; y < x; y++) {if (x % y ==...
解:源程序如下:include <math.h> int ss(int x){ int k;for (k=2;k<=sqrt(x);k++)if (x%k==0)return 0;return 1;} main(){ int i;for (i=2;i<=1000;i++)if (ss(i))printf("%d ",i);}
因此你的算法完全错误。include <stdio.h>int main(){int a,i,n=0;//满足题意的素数很多,需要分行写,添加变量n,并赋初始值0for(i=1;i<=1000;i++){for(a=2;a<=i-1;a++)//a=1改为a=2if(i%a==0)break;//else //两种情况并不是并列,因此此句需要取消if(a==i) //添加...