输入一个二维数组,分别统计各行元素之和并输出统计的结果。

如题。我想了半天不知道怎么编。
顺便问一下能不能自己,输入两个数(确定行和列),确定这个二维数组的大小,然后在自己根据这数组的大小输入符合条件的数
如果能帮忙把这段程序写出来吧
小弟我刚学C语言不久
最好用C语言来写,C++还没有学
王琳艳主编的C语言程序设计实验教程

第1个回答  2010-04-20
#include<iostream>
using namespace std;
int main()
{
int array[100][100];
int a,b,i,j,sum=0;
cout<<"输入数组的行和列:"<<endl;
cin>>a>>b;
cout<<"输入数组元素:"<<endl;
for(i=0;i<a;i++)
for(j=0;j<b;j++)
cin>>array[i][j];
for(i=0;i<a;i++){
for(j=0;j<b;j++)
sum+=array[i][j];
cout<<sum<<endl;
sum=0;}
return 0;
}

我是用C++写的,输入输出语句不一样,如果题意没理解错,其它的没问题本回答被提问者采纳
第2个回答  2010-04-21
#include <stdio.h>
#include <stdlib.h>

int row, col;
int **ary, *sum;
int main()
{
int i, j;
//输入行列数
scanf("%d %d", &row, &col);
//分配内存
ary = (int**)calloc(row, sizeof(int*));
for(i = 0; i < row; i++){
ary[i] = (int*)calloc(col, sizeof(int));
}
sum = (int*)calloc(row, sizeof(int));
//输入数字并计算和
for(i = 0; i < row; i++){
sum[i] = 0;
for(j = 0; j < col; j++){
scanf("%d", &ary[i][j]);
sum[i] += ary[i][j];
}
}
//输出结果
for(i = 0; i < row; i++){
printf("sum(%d) = %d\n", i+1, sum[i]);
}
//释放内存
for(i = 0; i < row; i++){
free(ary[i]);
}
free(ary);
free(sum);
return 0;
}
第3个回答  2010-04-22
#include <stdio.h>
void main()
{ int i,j,sum;
int a[4][4];
for (i=0;i<=3;i++)
for (j=0;j<=3;j++)
scanf("%d",&a[i][j]);
for (i=0;i<=3;i++)
{ sum=0 ;
for (j=0;j<=3;j++)
sum+=a[i][j];
printf("sum row[%d]=%d\n",i,sum);
}
getch();
}
注意:我这里都是从第0行第0列开始算的
第4个回答  2010-04-27
王琳艳主编的C语言程序设计实验教程?