当前位置:首页 » 编程语言 » c语言求多位数组平均值
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言求多位数组平均值

发布时间: 2022-03-31 10:56:15

A. c语言编程求二维数组当中各行求平均值......怎么编程啊

你这个需要两个循环吧!
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{ sum=a[i][j];
}
b[i]=sum/n;
}
思路应该是这样,用一个数组来接收每行的平均值,最后你在把它输出来就好了!

B. c语言编程求找错:求二维数组每行元素的平均值。要求用函数和指针实现)

直接用a[i][j]最简单,注意s必须每次置零。

非要用指针的话,应该用一个指向数组的指针,而不是一个装了指针的数组;

/*求二维数组每行元素的平均值。(要求用函数和指针实现)*/
#include<stdio.h>
voidfun(inta[3][4])
{
int(*p)[4],i,j;
floatave,s;
for(i=0;i<3;i++)
{
p=&a[i];
s=0;
for(j=0;j<4;j++)
s+=(*p)[j];
ave=s/4;
printf("第%d行元素的平均值为%f ",i,ave);
}
}
intmain()
{
inta[3][4],i,j;
printf("请输入二维数组 ");
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
fun(a);
return0;
}

C. C语言中,求二维数组的每一行的和与平均值

#include<stdio.h>
#include<string.h>

intmain()
{
inti=0,j=0,total=0;
floatavr=0;
inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};
for(i=0;i<3;i++)
{
total=0;
for(j=0;j<3;j++)
{
total+=a[i][j];
}
avr=(float)(total/3.0);
printf("sum[%d]aver[%.2f] ",total,avr);
}

return0;
}

sum[6]aver[2.00]
sum[15]aver[5.00]
sum[24]aver[8.00]
Pressanykeytocontinue

D. c语言 二维数组求平均值

很简单的问题啊,注意控制好循环就好了
要使用子函数,好像要是不用指针的话,只能全局变量。

E. 求C语言编程:调用函数计算二维数组所有元素的平均值

两个for循环

记录二维数组的总值

count+=array[i][j]

key记录数组元素个数

key++;

最后

return

count/key

或:

double avg(int x[10][10])

{

int i,j,sum;

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

{

for(j=0;i<10;j++)

sum+=x[i][j];

}

return sum/((i+1)*(j+1));

}

(5)c语言求多位数组平均值扩展阅读:

函数作为另一个函数调用的实际参数出现。这种情况是把该函数的返回值作为实参进行传送,因此要求该函数必须是有返回值的。例如: printf("%d",max(x,y)); 即是把max调用的返回值又作为printf函数的实参来使用的。在函数调用中还应该注意的一个问题是求值顺序的问题。

F. 用C语言求二维数组所有元素的平均值并输出

由于没给出详细的问题,我就用三维数组做了一下,其实题目很简单,直接用for-for的双重循环实现就可以了。首先是二维数组的输入,然后就是求和,求平均值。
思想有了,做其他的就很简单了,相信楼主会完成的o(∩_∩)o
【代码实现】
#include<stdio.h>
int main()
{
int i,j,a[3][3];
int sum=0;
float avg;
printf("请输入一个二维数组:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
}
for(i=0;i<3;i++)
for(j=0;j<3;j++)
sum+=a[i][j];
printf("%d",sum);
avg=sum/6.0;
printf("元素的平均值为%f",avg);
}

G. C语言二维数组求平均值

  1. 由于整数的平均值也应该是浮点值,所以a[i][N]=sum/N;这样不行。建议你把a数组和sum都声明为浮点型。

  2. a[M][j]=sum/M;逻辑有错。题目似乎是要求列平均值,应该另想办法,不能兼用i、j以及sum了。

改后代码如下:

#defineM4
#defineN6
intmain(intargc,char*argv[]){
doublea[M+1][N+1],sum=0;
inti,j;
for(i=0;i<=N;a[M][i++]=0);//加这一行列平均值初值赋0
for(i=0;i<M;i++){
sum=0;
for(j=0;j<N;j++){
scanf("%lf",&a[i][j]);
sum+=a[i][j];
a[M][j]+=a[i][j];//增加这一行求列和
}
a[i][N]=sum/N;
//a[M][j]=sum/M;
}
for(i=0;i<N;a[M][i++]/=M);//增加这一行求列平均值
for(i=0;i<M+1;i++){//有改
for(j=0;j<N+1;j++)
printf("%.1f ",a[i][j]);//有改
printf(" ");
}

H. c语言求一个二维数组各列元素的平均值,并将所求得的平均值按顺序存入一个一维数组中,

只用一个二重的循环就可以实现把二维数组的值按列求出平均值,并且存放到一维数组中。然后再输出。

#include<stdio.h>

int main()

{ int i,j,a[4][5]= {{12,20,30,25,52},{36,65,22,26,60},

{70,54,12,14,6},{2,7,8,12,15}

};

float b[5]= {0};

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

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

{ b[j]+=a[i][j];

printf("%4d",a[i][j]);

}

printf(" ");

b[j]/=5;

}

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

printf("%g ",b[j]);

return 0;

}

I. c语言用二维数组求平均值

h赋个初值0再试试。
vc6.0貌似对未初始化的局部变量不报错。