C++难题 二维数组求和

一个二维数组第一行和第一列所有元素的值均为 1,其他每个元素等于其左边和上边的元素之和。
  给定二维数组的大小,求这个二维数组所有元素的和。

输入一行,包含两个整数 n, m,分别表示数组的行数和列数。

输出一个整数,表示所有元素的和。

样例输入:3 4
样例输出:34

对于所有评测数据,1<=n<=10, 1<=m<=10

求大佬发代码

#include<stdio.h>

#include<string.h>

int main(){

int n,m;

int sum=0;

int a[20][20]={0};

scanf("%d%d",&n,&m);

for(int i=1;i<=n;i++)

a[i][1]=1;//第一行赋值1 

for(int i=1;i<=m;i++)

a[1][i]=1;//第一列赋值1 

for(int i=1;i<=n;i++){

for(int j=1;j<=m;j++){

if(i!=1&&j!=1){//第一列和第一行除外

//每个元素等于其左边和上边的元素之和 

a[i][j]=a[i-1][j]+a[i][j-1];

}

}

}

for(int i=1;i<=n;i++){//求和 

for(int j=1;j<=m;j++){

sum+=a[i][j];

printf("%d ",a[i][j]);//打印 (测评时可以注释掉) 

}

puts("\n");//换行 (测评时可以注释掉) 

}

printf("%d",sum);//输出和 

return 0;

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2021-08-04
大概就是这个意思,具体细节自己修正吧
fun (int a[][])
{
int sum = 0;
for(int i=0; i < a1; i++)
for(int j=0;j<a2;j++)
sum += a[i][j];
}
望采纳!

C++难题 二维数组求和
for(int i=1;i<=n;i++){\/\/求和 for(int j=1;j<=m;j++){ sum+=a[i][j];printf("%d ",a[i][j]);\/\/打印 (测评时可以注释掉)} puts("\\n");\/\/换行 (测评时可以注释掉)} printf("%d",sum);\/\/输出和 return 0;} ...

c++二维数组求和
fun (int a[][]){ int sum = 0;for(int i=0; i < a1; i++)for(int j=0;j<a2;j++)sum += a[i][j];}

C++遍历二维数组求和
include<iostream>#define M 100#define N 100using namespace std;int main(){int m,n;cin>>m>>n;int Iinput[M][N];for(int i=0;i<m;i++) {for(int j=0;j<n;j++){cin>>Iinput[i][j];}}int sum=0;for(int a=0;a<m;a++){for(int b=0;b<n;b++){sum=sum+*(...

C语言二维数组中删除数组中的重复元素
数组单元是连续分配单元的。即使是动态分配的单元,也不好从当中删去。动态分配的单元,可以用 realloc 增加分配单元 和 减少分配单元。但只能从尾部做起,单元连续。 本回答由提问者推荐 举报| 答案纠错 | 评论 0 4 L_o_o_n_i_e 采纳率:57% 擅长: C\/C++ VC++ 电脑\/网络 为您推荐: 二维数组转换一维数...

相似回答