C语言编程:随机生成20个0~50之间的数,找到其中的素数,存放到另一个数组,并将数组输出.要用函数.

感谢QAQ~

# include “stdio.h
# include “stdlib.h
# include “time.h”
void main()
{
printPrime(); //调用函数
}

void printPrime() //定义函数
{
int a[20], b[20], k=0; //定义数组
srand((unsigned)time(NULL)); //初始化随机数
for(int i=0; i<20; i++) //随机数赋值
{
a[i] = rand()%51; // n=rand()%(Y-X+1)+X n为X~Y之间的随机数
}
for(int i=0; i<20; i++) //判断是否质数
{
for(int j=2; j<=a[i]; j++) //从2开始到本身是否有数被整除
{
if(j == a[i]) //一直到本身仍未被整除,则为质数
{
b[k] = a[i];
k++;
}
if(a[i]%j == 0) //被整除则为合数,退出本次循环
break;
}
for(int i=0; i<k; i++) //输出
printf("%d ", b[i]);
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-06
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
main(){

int a[20],i,b[20],k=0,j;
srand((unsigned)time(0));
for(i=0;i<20;i++){
a[i] = rand()%50;
}
for(i=0;i<20;i++){
for(j=2;j<a[i];j++){
if(a[i]%j==0){
break;
}
}
if(j==a[i]){
b[k++] = a[i];
}
}
for(i=0;i<k;i++){
printf("%d ",b[i]);
}
}
第2个回答  2012-04-05
同求