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