描述
编写一个程序,提示用户输入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;
}