1 #include <stdio.h> 2 /* 3 编写程序:读取6X5的整数数组,然后显示出每行的和与每列的和 4 例:enter row 1: 8 3 9 0 10 5 enter row 2: 3 5 17 1 1 6 enter row 3: 2 8 6 23 1 7 enter row 4:15 7 3 2 9 8 enter row 5: 6 14 2 6 0 9 enter row 6: 1 1 1 1 1 10 11 */ 12 13 #define M 6 14 #define N 5 15 #define K 2 16 void get_row(int (*p)[N],int n); 17 void input_row_and_list_sum(int (*p)[N],int (*p1)[M],int n); 18 void input_row_sum(int (*p)[M],int n); 19 int main(void) 20 { 21 int arr[M][N]; 22 int arr1[K][M] = {0}; 23 //逐行的输入整数 24 get_row(arr,N); 25 //每行的和与每列的和存入arr1中 26 input_row_and_list_sum(arr,arr1,N); 27 //打印行的和与列的和 28 input_row_sum(arr1,M); 29 30 return 0; 31 } 32 void get_row(int (*p)[N],int n) 33 { 34 for(int i = 0;i<M;i++) 35 { 36 printf("enter row%d:",i+1); 37 for(int j = 0;j<n;j++) 38 scanf("%d",*(p+i)+j); 39 } 40 return ; 41 } 42 43 void input_row_and_list_sum(int (*p)[N],int (*p1)[M],int n) 44 { 45 for(int i = 0;i<M;i++) 46 { 47 for(int j = 0;j<n;j++) 48 { 49 p1[0][i] += *(*(p+i)+j);//行累计 50 p1[1][j] += *(*(p+i)+j);//列累计 51 } 52 } 53 } 54 void input_row_sum(int (*p)[M],int n) 55 { 56 int i,j; 57 printf("-------打印行的和与列的和-----------\n"); 58 for(i = 0;i<K;i++) 59 { 60 for(j = 0;j<n;j++) 61 { 62 printf("%d\t",*(*(p+i)+j)); 63 } 64 putchar(10); 65 66 } 67 return ; 68 }
原文地址:https://www.cnblogs.com/wangchaomahan/p/9507835.html
时间: 2024-10-08 19:07:18