3条回答 默认 最新
- 技术专家团-小桥流水 2021-12-08 22:41关注
(1)第7行的b=0,放在for循环外面(第4行下面)
(2)第10行if(primes[i]/j==0)改成if(primes[i]%j==0)
(3)b++部分,放在for循环外面
if(j==primes[i])
{
data[b++]=primes[i];
}
(4)main函数需要返回值,改成 int main()
代码修改如下:#include <stdio.h> int IsPrime(int* data,int *primes,int len) { int i,b=0,j; for (i=0;i<len;i++) { for (j=2;j<primes[i];j++) { if(primes[i]%j==0) break; } if(j==primes[i]) { data[b] = primes[i]; b++; } } return b; } int main() { int data[1024],primes[1024],len=1024; int nmb=0,i; for ( i = 0;i<1024;i++) { primes[i] = i+1; } nmb = IsPrime(data,primes,len); printf("素数个数:%d\n",nmb); printf("素数:"); for(i=0;i<nmb;i++) { printf("%4d ",data[i]); } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用
悬赏问题
- ¥15 chaquopy python 安卓
- ¥50 Kubernetes&Fission&Eleasticsearch
- ¥15 有没有帮写代码做实验仿真的
- ¥15 報錯:Person is not mapped,如何解決?
- ¥30 vmware exsi重置后登不上
- ¥15 易盾点选的cb参数怎么解啊
- ¥15 MATLAB运行显示错误,如何解决?
- ¥15 c++头文件不能识别CDialog
- ¥15 Excel发现不可读取的内容
- ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题