- P86例4-11求二维数组各元素及外围元素的和
#include<iostream> using namespace std; //用元素指针求元素之和 int sum1(int* p, int n1) { int sum = 0; for (int i = 0; i < n1; i++) sum += p[i]; return sum; } //用行指针求外围元素(二维数组外面一周数据)的和 int sum2( int( *p )[ 5 ], int n2) { int sum = 0; for (int i = 0; i < n2; i++) for (int j = 0; j < 5; j++) if (i == 0 || i == n2 - 1 || j == 0 || j == 4) sum += p[i][j]; return sum; } //用行指针输出二维数组 void output(int p[][5], int n2) { for (int i = 0; i < n2; i++) { for (int j = 0; j < 5; j++) cout << *(p[i] + j) << '\t'; cout << endl; } } int main() { int b[3][5] = { {2,5,8,6,1},{4,12,9,5,9},{7,3,11,9,10} }; output(b, 3); cout << "外围元素的和为:" << sum1(&b[0][0],3*5) << endl; cout << "所有元素的和为:" << sum2(&b[0], 3) << endl; return 0; }
结果:
本来打算多写一点的,因为已经把很不熟悉的二维数组及指针学完了,不过看时间还是明天吧