text
text[此贴子已经被作者于2016-4-11 02:14编辑过]
程序代码:#include<stdio.h>
#define ROWS 3
#define COLS 5
void iput_arr(double arr[][COLS], int row);
void show_arr(double arr[][COLS], int row);
double aver_arr(double arr[][COLS], int row);
int main(void){
double array[ROWS][COLS];
iput_arr(array,ROWS);
show_arr(array,ROWS);
aver_arr(array,ROWS);
return 0;
}
void iput_arr(double arr[][COLS], int row){
int ro,co;
printf("请输入3个数组,每个数组5元素:\n");
for(ro=0;ro<row;ro++)
{
for(co=0;co<COLS;co++)
{
// scanf("%lf",&arr[ro][co]);
arr[ro][co]=ro*COLS+co+1;
}
}
}
void show_arr(double arr[][COLS],int row){
int ro,co;
printf("a.\n");
printf("您输入的3个数组元素是:\n");
for(ro=0;ro<row;ro++){
for(co=0;co<COLS;co++)
{
printf("%g\t",arr[ro][co]);
}
printf("\n");
}
}
double aver_arr(double arr[][COLS], int row){
double average[COLS]={0},average_total=0;
double max=arr[0][0];
int ro,co;
for(ro=0;ro<row;ro++){
for(co=0;co<COLS;co++){
average[ro]+=arr[ro][co]/COLS;
average_total+=arr[ro][co];
if(max<arr[ro][co])
{
max=arr[ro][co];
}
}
}
average_total/=ROWS*COLS;
printf("b.\n");
for(co=0;co<row;co++){
printf("数组%d的平均值是%g\n",co+1,average[co]);
}
printf("c.\n");
printf("3个数组的平均值是%g\n",average_total);
printf("d.\n");
printf("3个数组的最大值是%g\n",max);
}

程序代码:#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
程序代码:#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]);
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));
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;
double max=arr[0][0];
for(ro=0;ro<rows;ro++){
for(co=0;co<cols;co++){
printf("%g ",arr[ro][co]);
if(max<arr[ro][co]){
max=arr[ro][co];
}
}
printf("\n");
}
printf("3个数组最大元素是:%g\n",max);
}
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++)
sum+=aver_cols_arr(arr[ro],cols)*cols;
return (sum/(rows*cols));
}
