有一个4行5列的二维数组b,计算每一行的总和,并将此和顺序存放在一个长度为4的一维数组中

有一个4行5列的二维数组b,编写程序,计算每一行的总和,并将此和顺序存放在一个长度为4的一维数组中,最后按顺序输出该一维数组。输入示例:32159810441211286... 有一个4行5列的二维数组b,编写程序,计算每一行的总和,并将此和顺序存放在一个长度为4的一维数组中,最后按顺序输出该一维数组。
输入示例:
3 21 5 98 10
44 12 1 12 8
67 61 45 67 17
35 36 78 90 19
输出示例:
137 77 257 258
#include<stdio.h>
int main()
{
int i,j,b[4][5],a1=0,a2=0,a3=0,a4=0;
for(i=0;i<4;i++)
for(j=0;j<5;j++)
scanf("%d",&b[i][j]);
while(i=0)
{
for(j=0;j<5;j++)
a1+=b[i][j];
break;

}
while(i=1)
{
for(j=0;j<5;j++)
a2+=b[i][j];
break;
}
while(i=2)
{
for(j=0;j<5;j++)
a3+=b[i][j];
break;
}
while(i=3)
{ for(j=0;j<5;j++)
a4+=b[i][j];
break;
}
printf("%d %d %d %d\n",a1,a2,a3,a4);
return 0;
}
为什么第一行的和一直求不出来为0
展开
 我来答
金色潜鸟
2015-12-03 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5280万
展开全部
while(i=0){} 就等于 while(0){}; 也就是 循环条件永远为假 ,不进入循环体。
它只给你做了 一条赋值语句:i=0; 不执行循环体。
你可以不要while 循环,写 for(j=0;j<5;j++) a1+=b[0][j]; 就可以了。

这个程序你应当用:
int i,j,b[4][5],a[4];
for(i=0;i<4;i++) for(j=0;j<5;j++) scanf("%d",&b[i][j]);
for (i=0;i<4;i++){
a[i]=0;
for (j=0;j<5;j++) a[i]+=b[i][j];
}
printf("%d %d %d %d\n",a[0],a[1],a[2],a[3]);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式