求解C语言编程题

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

设计子函数:int Get3Num(int a[],int b[],int n)
展开
 我来答
小猪答辩
2020-04-11 · TA获得超过420个赞
知道小有建树答主
回答量:472
采纳率:65%
帮助的人:115万
展开全部

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

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

{

    int i;

    int sum=0;

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

    {

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

        {

            b[sum] = a[i];

            sum++;

        }

    }

    return sum;

}

int main()

{

    int num[20];

    int num_3[20];

    int i,j,sum;

    srand((unsigned int)time(NULL));

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

    {

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

    }

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

    {

        for(j=0;j<5;j++)

        {

            printf("%d\t",num[5*i+j]);

        }

        printf("\n");

    }

    sum = Get3Num(num,num_3,20);

    if(sum==0)

    {

        printf("NO\n");

    }

    else

    {

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

        {

            printf("%d\t",num_3[i]);

        }

    }

}

匿名用户
2020-04-11
展开全部
int main()
{ int i=0,t;
srand((unsigned)time(NULL));
t=rand() % 1000;
intRandom[i++]=t;
while (i<100)
{
Again: t=rand() % 1000;
if ( BoolInArray(t,i)==0)
{ intRandom[i++]=t; }
else
goto Again; }
for(i=0;i<100;i++)
{ printf("%4d",intRandom[i]);
if ((i+1) % 10 == 0)
printf("\n");
}

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式