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)); }