为啥小弟我素数排的序不对
为啥我素数排的序不对啊
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int k;
int plume(int i)
{
int j;
for (j=2;j<i;j++)
if (i%j==0)
break;
if (j==i)
{ printf("%3d ",i);
k=1;}
return i;
}
void main(int a)
{
int a[100],i,j=0,s,m,b[100];
srand((unsigned)time(NULL));
for (i=0;i<100;i++)
{
a[i]=rand()%4000+1000;
printf("%3d ",a[i]);
}
printf("––––––––––\n");
for (i=0;i<100;i++)
{
plume(a[i]);
if (k==1)
{
b[j]=a[i];
j++;
}
m=j;
}
printf("–––––––––\n");
for (i=0;i<m-2;i++)
for (j=0;j<m-2-i;j++)
if (b[j]>b[j+1])
{
s=b[j];
b[j]=b[j+1];
b[j+1]=s;
}
for (i=0;i<j;i++)
printf("%3d ",b[i]);
}
------解决方案--------------------
------解决方案--------------------
百度 c语言金典100例 这个新手还是可以看看的
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int k;
int plume(int i)
{
int j;
for (j=2;j<i;j++)
if (i%j==0)
break;
if (j==i)
{ printf("%3d ",i);
k=1;}
return i;
}
void main(int a)
{
int a[100],i,j=0,s,m,b[100];
srand((unsigned)time(NULL));
for (i=0;i<100;i++)
{
a[i]=rand()%4000+1000;
printf("%3d ",a[i]);
}
printf("––––––––––\n");
for (i=0;i<100;i++)
{
plume(a[i]);
if (k==1)
{
b[j]=a[i];
j++;
}
m=j;
}
printf("–––––––––\n");
for (i=0;i<m-2;i++)
for (j=0;j<m-2-i;j++)
if (b[j]>b[j+1])
{
s=b[j];
b[j]=b[j+1];
b[j+1]=s;
}
for (i=0;i<j;i++)
printf("%3d ",b[i]);
}
------解决方案--------------------
#include <stdio.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <algorithm>
using namespace std;
int k;
int plume(int i)
{
int j;
for (j=2;j< i;j++)
if (i%j==0)
break;
if (j==i)
{
printf("%3d ",i);
k=1;
}
return i;
}
int main()
{
int a[100],i,j=0,s,m,b[100];
srand((unsigned)time(NULL));
for (i=0;i<100;i++)
{
a[i]=rand()%4000+1000;
printf("%3d ",a[i]);
}
printf("––––––––––\n");
for (i=0;i<100;i++)
{
k = 0; /*重置*/
plume(a[i]);
if(k==1)
{
b[j]=a[i];
j++;
}
//m=j;
}
printf("–––––––––\n");
for (i=0;i<j;i++)
for (m=0;m<j-i-1;m++)
if (b[m]>b[m+1])
{
s=b[m];
b[m]=b[m+1];
b[m+1]=s;
}
//sort(b,b+j); 快排,测试排序
for (i=0;i<j;i++)
printf("%3d ",b[i]);
return 0;
}
------解决方案--------------------
百度 c语言金典100例 这个新手还是可以看看的