text
text[此贴子已经被作者于2016-4-11 02:14编辑过]
程序代码:#include<stdio.h>
#define ROWS 3
#define COLS 5
void col_arr(double arr[], int n);
void show_arr(int rows, int cols, double arr[rows][cols]);
double aver_cols_arr(const double arr[], int n);
double aver_sum_arr(int rows, int cols, double arr[rows][cols]);
double max_arr(int rows, int cols, double arr[rows][cols]);
int main(void)
{
double array[ROWS][COLS];
int row;
for(row=0;row<ROWS;row++)
{
printf("请输入数组%d中的%d个元素:\n",row+1,COLS);
col_arr(array[row],COLS);
}
show_arr(ROWS,COLS,array);
for(row=0;row<ROWS;row++)
{
printf("数组%d的平均值是%g\n",row+1,aver_cols_arr(array[row],COLS));
}
printf("3个数组的平均值是:%g\n",aver_sum_arr(ROWS,COLS,array));
printf("3个数组最大元素是:%g\n",max_arr(ROWS,COLS,array));
return 0;
}
void col_arr(double arr[],int n)
{
int co;
for(co=0;co<n;co++)
{
printf("元素%d:",co+1);
scanf("%lf",&arr[co]);
}
}
void show_arr(int rows, int cols, double arr[rows][cols])
{
int ro,co;
for(ro=0;ro<rows;ro++)
{
for(co=0;co<cols;co++)
{
printf("%g ",arr[ro][co]);
}
printf("\n");
}
}
double aver_cols_arr(const double arr[], int n)
{
int co;
double sum=0.0;
for(co=0;co<n;co++)
{
sum+=arr[co];
}
return sum/n;
}
double aver_sum_arr(int rows, int cols, double arr[rows][cols])
{
int ro,co;
double sum=0.0;
for(ro=0;ro<rows;ro++)
{
for(co=0;co<cols;co++)
{
sum+=arr[ro][co];
}
}
return (sum/(rows*cols));
}
double max_arr(int rows, int cols,double arr[rows][cols])
{
int ro,co;
double max=arr[0][0];
for(ro=0;ro<rows;ro++)
{
for(co=0;co<cols;co++)
{
if(max<arr[ro][co])
{
max=arr[ro][co];
}
}
}
return max;
}难到这就是传说中的VLA