c语言数组处理题..

描述
编写一个程序,提示用户输入2个数集,每个数集包括2个int值。程序应当实现下列所有功能:
a.把输入信息存储到一个2×5的数组中
b.计算出每个数集(包含5个数值)的平均值
c.计算所有数值的平均数
d.找出这10个数中的最大值
e.打印出结果
每个任务需要用一个单独的函数来实现(使用传统C处理数组的方法)。对于任务b,需要编写计算并返回一维数组平均值的函数,循环2次调用该函数来实现任务b。对于其他任务,函数应当把整个数组作为参数,并且完成任务c和d的函数应该向它的调用函数返回答案。

格式
输入格式
2 2 3 4 9
3 5 9 7 6

输出格式
4 6 5 9

样例
样例输入
2 2 3 4 9
3 5 9 7 6
样例输出
4 6 5 9

每个数集包括2个int值----是5个吧?
定义一个 二维数组 int a[2][5];用scanf双循环输入整数

用户输入2个数集,每个数集包括2个int值 ,这个描述是错误的吧。。
代码如下:

#include <stdio.h>
//合并
void hebing(int c[][5],int a[],int b[])
{
    int i;
    for(i=0;i<5;i++)
    {
        c[0][i] = a[i];
        c[1][i] = b[i];
    }
}

//计算平均值
int avg(int *p,int n)
{
    int i,s=0;
    for(i=0;i<n;i++)
        s += p[i];
    return (s/n);
}

int maxnmb(int*p, int n)
{
    int i;
    int max = p[0];
    
    for (i=1;i<n;i++)
    {
        if(p[i] > max)
            max = p[i];
    }
    return max;
}

int main()
{
    int a[5],b[5],c[2][5];
    int i;
    for(i=0;i<5;i++)
        scanf("%d",&a[i]);
    for(i=0;i<5;i++)
        scanf("%d",&b[i]);
    hebing(c,a,b);
    printf("%d %d %d ",avg(a,5),avg(b,5),avg(&c[0][0],10));
    printf("%d",maxnmb(&c[0][0],10));
    return 0;
}