求解一道C语言题目

对在[1,99]范围生成20个随机整数,按每行5个输出。编写子函数实现把长度是n的数组a中的所有素数放入b数组中并返回个数。要求先输出原始数据,然后输出满... 对在[1,99]范围生成20个随机整数,按每行5个输出。编写子函数实现把长度是n的数组a中的所有素数放入b数组中并返回个数。要求先输出原始数据,然后输出满足条件的数组,若没有则主函数中输出“NO”。

设计子函数:int GetPrime(int a[],int b[],int n)
展开
 我来答
匿名用户
2020-04-12
展开全部

#include <stdio.h>

#include <stdlib.h>

#include <time.h>


int GetPrime(int a[], int b[], int n) {

  int C = 0;

  for(int i = 0; i < n; i++) {

    int j;

    if(a[i] == 1 || a[i] % 2 == 0)

      continue;

    for(j = 2; j * j <= a[i]; j++)

      if(a[i] % j == 0)

        break;

    if(j * j > a[i])

      b[C++] = a[i];

  }

  return C;

}


int main() {


  int a[20], b[20], n;

  srand(time(NULL));

  for(int i = 0; i < 20; i++)

    a[i] = rand() % 99 + 1;

  n = GetPrime(a, b, 20);

  printf("原始数组:\n");

  for(int i = 0; i < 20; i++)

    printf("%d%c", a[i], i % 5 == 4 ? '\n' : ' ');

  if(n == 0)

    printf("\nNO");

  else {

    printf("\n素数数组:\n");

    for(int i = 0; i < n; i++)

      printf("%d%c", b[i], i % 5 == 4 ? '\n' : ' ');

  }

  putchar('\n');

  return 0;

}

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shine1991
科技发烧友

2020-04-12 · 智能家居/数码/手机/智能家电产品都懂点
知道顶级答主
回答量:4.7万
采纳率:82%
帮助的人:2.3亿
展开全部

#include <stdio.h>

#include <time.h>

#include <stdlib.h>

int GetPrime(int a[],int b[],int n)

{

    int i,cnt,t;

    for(i=0,cnt=0;i<n;++i)

    {

        if(a[i]<2)continue;

        for(t=2;t<a[i];t++)

            if(a[i]%t==0)

                break;

        if(t==a[i])

            b[cnt++]=a[i];

    }

    return cnt;

}

int main()

{

    int i,a[20],b[20],t;

    srand(time(NULL));

    for(i=0;i<20;++i)

    {

        a[i]=rand()%99+1;

        printf("%2d%c",a[i],(i+1)%5==0?'\n':' ');

    }

    for(i=0,t=GetPrime(a,b,sizeof(a)/sizeof(a[0]));i<t;++i)

        printf("%d ",b[i]);

    printf("%s",t==0?"NO":"\n");

    return 0;

}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式