1.计算二维数组的四边之和:
算法1:
#include <iostream>
using namespace std;
int main() {
int m, n,sum=0;
cin >> m >> n;
int ar[m][n];
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
cin >> ar[i][j];
}
}
for(int i=0;i<m;i++){
sum+=ar[0][i];
sum+=ar[m-1][i];
}
for(int i=0;i<n;i++){
sum+=ar[i][0];
sum+=ar[i][n-1];
}
sum-=ar[0][0]+ar[0][n-1]+ar[m-1][0]+ar[m-1][n-1];
cout<<sum;
}
算法2:
#include <iostream>
using namespace std;
int main() {
int m, n, sum = 0;
cin >> m >> n;
int ar[m][n];
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
cin >> ar[i][j];
}
}
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if(i==0||i==m-1||j==0||j==n-1){
sum+=ar[i][j];
}
}
}
cout << sum;
}
2.杨辉三角:
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int ar[n][2 * n - 1];
for (int i = 0; i < n; i++) {
for (int j = 0; j < 2 * n - 1; j++) {
ar[i][j] = 0;
}
}
ar[0][n - 1] = 1;
for (int i = 1; i < n; i++) {
for (int j = n - 1 - i ; j <= n - 1 + i; j += 2) {
ar[i][j] = ar[i - 1][j - 1] + ar[i - 1][j + 1];
}
}
ar[n - 1][2 * n - 2] = 1;
for (int i = 0; i < n; i++) {
for (int j = 0; j < 2 * n - 1; j++) {
if (ar[i][j] == 0) {
cout << " ";
} else
cout << ar[i][j];
}
cout << endl;
}
}