关于#c++#的问题:将数组中所有能被3整除的数都存放到另一个数组

编写函数a,将数组中所有能被3整除的数都存放到另一个数组。编写主函数实现数组定义,数据输入,调用函数a,并输出结果。
求解!!!

大体思路是这样,封装个函数就可以了

#include<iostream>
using namespace std;
const int Max = 100;
int main()
{
    int a[Max], n, i;
    cin >> n;
    for (i = 0; i < n; i++)//向数组里存入数据
        cin >> a[i];
    for (i = n - 1; i >= 0; i--)//输出符合条件元素
        if (a[i] % 3 == 0)//判断元素能否被3整除
            cout << a[i] << " ";
    cout << endl;
    return 0;
}

img


代码如下

#include<iostream>
using namespace std;
int f(int t[],int n,int s[])
{
    int j,k=0;
    for(j=0; j<n; j++)
    {
        if(t[j]%3==0)
        {
            s[k]=t[j];
            k++;
        }
    }
    return k;
}
int main()
{
    int t[10]={1,2,3,4,5,6,7,8,9,10};
    int s[10];
    int k=f(t,10,s),j;
    for(j=0;j<k;j++)
    {
    cout << s[j] <<"  ";
    }
    return 0;
}

# include<stdio.h>
/*
编写函数a,将数组中所有能被3整除的数都存放到另一个数组。
编写主函数实现数组定义,数据输入,调用函数a,并输出结果。
*/
int a(int num[],int n,int res[]) {
    int j = 0;
    for (int i = 0; i < n; i++)
    {
        if (num[i] % 3 == 0)
        {
            res[j] = num[i];
            j++;
        }
    }
    return j;
}
int main()
{
    int num[1024] = { 0 };
    int res[1024] = { 0 };
    int n = 0;
    scanf("%d",&n);//输入元素个数
    for (int i = 0; i < n; i++)
    {
        scanf("%d",&num[i]);//输入数组元素
    }
    int ns = a(num, n,res);
    for (int i = 0; i < ns; i++)
    {
        printf("%d ",res[i]);
    }
    return 0;
}