c语言随机生成100个3位正整数(1)求出其中素数的个数.(2)把求出的所有素数按照从大到小的顺序排序并输出.
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/14 13:39:49
![c语言随机生成100个3位正整数(1)求出其中素数的个数.(2)把求出的所有素数按照从大到小的顺序排序并输出.](/uploads/image/z/8510595-51-5.jpg?t=c%E8%AF%AD%E8%A8%80%E9%9A%8F%E6%9C%BA%E7%94%9F%E6%88%90100%E4%B8%AA3%E4%BD%8D%E6%AD%A3%E6%95%B4%E6%95%B0%EF%BC%881%EF%BC%89%E6%B1%82%E5%87%BA%E5%85%B6%E4%B8%AD%E7%B4%A0%E6%95%B0%E7%9A%84%E4%B8%AA%E6%95%B0.%EF%BC%882%EF%BC%89%E6%8A%8A%E6%B1%82%E5%87%BA%E7%9A%84%E6%89%80%E6%9C%89%E7%B4%A0%E6%95%B0%E6%8C%89%E7%85%A7%E4%BB%8E%E5%A4%A7%E5%88%B0%E5%B0%8F%E7%9A%84%E9%A1%BA%E5%BA%8F%E6%8E%92%E5%BA%8F%E5%B9%B6%E8%BE%93%E5%87%BA.)
c语言随机生成100个3位正整数(1)求出其中素数的个数.(2)把求出的所有素数按照从大到小的顺序排序并输出.
c语言随机生成100个3位正整数
(1)求出其中素数的个数.(2)把求出的所有素数按照从大到小的顺序排序并输出.
c语言随机生成100个3位正整数(1)求出其中素数的个数.(2)把求出的所有素数按照从大到小的顺序排序并输出.
#include "stdio.h"
#include "time.h"
#include "stdlib.h"
int isprime(int n)//判断n是否是素数,是返回1,不是返回0
{
int i;
for(i=2;i<=n/2;i++)
if(n%i==0)
return 0;
return 1;
}
int main()
{
int a[100]={0};
int b[100]={0};
int i,j,count=0,tmp;
srand(time(NULL));
for(i=0;i<100;i++)//3位整数 100~999
{
a[i]=rand()%900+100; //rand()%900 899 加上100则是 100~999
if(isprime(a[i])==1) //如果是素数,则存到b数组中,同时用count变量计数
{
b[count++]=a[i];
}
}
//素数数组排序从大到小:
for(i=0;i<count-1;i++)
for(j=i+1;j<count;j++)
if(b[i]<b[j])
{
tmp=b[i];
b[i]=b[j];
b[j]=tmp;
}
printf("随机产生的100个3位数中素数共有%d个\n",count);
printf("从大到小输出素数:\n");
for(i=0;i<count;i++)
printf("%d\t",b[i]);
printf("\n");
}