编码
求矩阵各行元素之和,输入2个正整数m和n(1<=m<=6,1<=n<=6),然后输入矩阵a(m行n列)中的元素,分别求出各行元素之和,并输出。我的编码哪里有问题?#include <stdio.h>
void main()
{
int c,i,j,m,n,a;
int sum=0;
printf("请输入两个大于等于1小于等于6的数:");
scanf("%d%d",&m,&n);
c=m*n;
printf("请输入%d个数",c);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a);
}
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
sum=sum+a;
printf("%8d",sum);
printf("\n");
}
}
}
本帖最后由 baige 于 2020-8-31 15:46 编辑
看楼下 本帖最后由 baige 于 2020-8-31 15:48 编辑
#include <stdio.h>
void main()
{
int c,i,j,m,n,a;
int sum=0;
printf("请输入两个大于等于1小于等于6的数:");
scanf("%d%d",&m,&n);
c=m*n;
printf("请输入%d个数",c);
for(i=0; i<m; i++)
{
for(j=0; j<n; j++)
{
scanf("%d",&a);
}
}
for(i=0; i<m; i++)
{
sum = 0;
for(j=0; j<n; j++)
{
sum=sum+a;
}
printf("%8d",sum);
printf("\n");
}
}
本帖最后由 baige 于 2020-8-31 15:48 编辑
好了,把
printf("%8d",sum);
printf("\n");
这两行放到外层循环
同时在外层循环里把sum每次初始化为0 由于sum是用来求每行的和,要求每进入1行元素是sum应该初始化为0
外层循环用来控制行数的以及输出,内层循环用来实现累加
输出应该放在外层循环里
页:
[1]