C Primer Plus 10.13第13題的一點想法
阿新 • • 發佈:2022-12-04
在網上看了一些網友的答案,不是很滿意!於是自己寫了一個
#include <stdio.h> #include <ctype.h> void show_arr(int arr[][5], int n); void store_date(double arr[][5]); void average_per_row(const double arr[], int n); void average(const double arr[][5], int len); void find_max(const double arr[][5], int len); int main(void) { double arr[3][5] = { 0 }; store_date(arr); for (int i = 0; i < 3; i++) average_per_row(arr[i], i+1); average(arr, 3); find_max(arr, 3); getchar(); return 0; } void show_arr(int arr[][5], int n) { for (int i = 0; i < n; i++) { for (int j = 0; j < 5; j++) printf("%4d", arr[i][j]); putchar('\n'); } } void store_date(double arr[][5]) { for (int i = 0; i < 3; i++) for (int j = 0; j < 5; j++) scanf("%lf", &arr[i][j]); } void average_per_row(const double arr[],int n) { double avg = 0; for (int i = 0; i < 5; i++) avg += arr[i]; avg /= 5; printf("The average of the %d row is %g\n", n, avg); } void average(const double arr[][5], int len) { double avg = 0; for (int i = 0; i < len; i++) for (int j = 0; j < 5; j++) avg += arr[i][j]; avg = avg / (len * 5); printf("The average of the data is %g\n", avg); } void find_max(const double arr[][5], int len) { double max = arr[0][0]; for (int i = 0; i < len; i++) for (int j = 0; j < 5; j++) max = max > arr[i][j] ? max : arr[i][j]; printf("The maximun of the data is %g\n", max); }