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語言二維數組求平均值
由於整數的平均值也應該是浮點值,所以a[i][N]=sum/N;這樣不行。建議你把a數組和sum都聲明為浮點型。
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貌似對未初始化的局部變數不報錯。