6. 编写函数int fun (int lim, int aa[MAX] ),该函数的功能是:
答案:3 悬赏:20
解决时间 2021-03-06 02:01
- 提问者网友:若相守£卟弃
- 2021-03-05 09:07
求出小于lim的所有素数并放在aa数组中,该函数返回所求出素数的个数。然后编写主函数调用它。
最佳答案
- 二级知识专家网友:晨与橙与城
- 2021-03-05 09:34
#include <stdio.h>
#include <math.h>
#define MAX 100
int aa[MAX];
int fun (int lim, int aa[MAX] )
{
int i,j,k=0,m,num=0,leap=1;
if(lim>=3)
{
aa[0]=2;
k=1;
num=1;
}
for(j=3;j<lim;j++)
{
m=sqrt(j+1);
for(i=2;i<=m;i++)
if(j%i==0)
{leap=0;break;}
if(leap) {
aa[k++]=j;
num++;
}
leap=1;
}
return num;
}
void main()
{
int lim,num;
printf("请输入一个整数\n");
scanf("%d", &lim);
num=fun(lim,aa);
printf("\n素数的个数: %d",num);
}
#include <math.h>
#define MAX 100
int aa[MAX];
int fun (int lim, int aa[MAX] )
{
int i,j,k=0,m,num=0,leap=1;
if(lim>=3)
{
aa[0]=2;
k=1;
num=1;
}
for(j=3;j<lim;j++)
{
m=sqrt(j+1);
for(i=2;i<=m;i++)
if(j%i==0)
{leap=0;break;}
if(leap) {
aa[k++]=j;
num++;
}
leap=1;
}
return num;
}
void main()
{
int lim,num;
printf("请输入一个整数\n");
scanf("%d", &lim);
num=fun(lim,aa);
printf("\n素数的个数: %d",num);
}
全部回答
- 1楼网友:情战凌云蔡小葵
- 2021-03-05 12:10
int fun(int lim,int aa[max])
{
int i,k=lim,j=0,m=0;
for(k=2;k<=lim;k++)
{
for(i=2;i<=k-1;i++)
{
if(k%i==0)
{
j+=1;
break;
}
}
if(j==0)
{
aa[m]=k;
m+=1;
}
j=0;
}
return (m);
}
- 2楼网友:我颠覆世界
- 2021-03-05 10:56
#include
#define max 300
int fun(int lim,int aa[max]);
int main()
{
int a,b,bb[max],i;
printf("输入一个大于或等于2的整数:\n");
scanf("%d",&a);
b=fun(a,bb);
printf("质素的个数是:%d\n",b);
printf("这些素数是:\n");
for(i=0;i<=b-1;i++)
printf("%4d",bb[i]);
printf("\n");
return 0;
}
int fun(int lim,int aa[max])
{
int i,k=lim,j=0,m=0;
for(k=2;k<=lim;k++)///////////////
{
for(i=2;i<=k-1;i++)
{
if(k%i==0)
j+=1;
}
if(j==0)
{
//for(;m<=max;m++)
//aa[m]=k;
aa[m++]=k;
}
j=0;
}
//m+=1;
return (m);
}
打“//”的为修改的地方,
注意本程序是求出小于等于lim的所有素数,
如要变成小于,将"///////"改为k
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |