C语言数组问题求答!

编写程序,使用随机函数“rand(”生成12个[10,99]之间的整数存于
数组a中,输出该数组a中各元素的值;将数组a中所有偶数存储于另
一个数组b中,输出数组b中各元素的值。
提示:
使用rand0%90+10可以产生一个[10,99]之间的整数;程序应包含头文件:<stdlib.h>
要求:
(1) 循环变量为整型i,a,b整型数组长度为12,a数组中偶数的个数为整型k。
(2)循环语句使用for语句且从小到大循环。
(3)程序中不许定义没提到的变量。

#include <stdio.h>
#include <stdlib.h>

int main(){

    int i; 
    int cnt = 0;
    int a[12];
    int b[12];
	randomize();
    for(i=0;i<12;i++){
        a[i] = random(90) + 10;  
        if(a[i]%2==0){
            b[cnt++]=a[i];
        }
        printf("%d\t",a[i]);
    }
    printf("\n偶数列表:");
    for(i=0;i<cnt;i++){
        printf("%d\t",b[i]);
    }
		 
}

 

如有帮助,望采纳支持一下哦。

#include<stdio.h>
#include <stdlib.h>
#include<time.h>
void main()
{
int a[12];
int b[12];
int i=0,j=0,k,temp;
srand(time(0));
for(i=0;i<12;i++)
{
a[i]=rand()%89+10;
if(a[i]%2==0)
b[j++]=a[i];
k=j;
}
for(i=0;i<k;i++)
for(j=i+1;j<k;j++)
if(b[i]<b[j])
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
i=0;
for(j=0;j<k;j++)
{
printf("%d ",b[j]);
i++;
if(i%10==0)
printf("\n");
}
printf("\n");
}

 

此题利用随机数先生成数据到数组中,然后再分偶数到另一数组

#include <stdio.h>
#include <stdlib.h>


int main()
{
    int a[12],b[12];
    int i,k=0;

    srand(time(0));

    for(i=0;i<12;i++)
    {
        a[i]=rand()%90+10;
        if(a[i]%2==0)
        {
            b[k]=a[i];
            k++;
        }
    }
    
    for(i=0;i<12;i++)
    {
        printf("%d ",a[i]);
    }
    printf("\n");

    for(i=0;i<k;i++)
    {
        printf("%d ",b[i]);
    }

    return 0;
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m