C语言二维数组各行列求和,谢谢!

swiftgod 2014-12-21 06:57:17
各位大神!我在main()声明了一个求二维数组各行的求和函数int sum(int array[4][4]),但是无论怎么输出都只是第一行求和。麻烦帮忙看一下!谢谢,一下为代码!
#include<stdio.h>
int main()
{
int i,j;
float c;
float avg(int array[4][4]);

int score[4][4]={{11,97,95,77},{12,96,87,93},{13,96,88,79},{14,91,99,89}}; //行为学生学号,列为学生成绩

printf("Num Chinese Math English");
printf("\n");
for(i=0;i<4;i++)
{for(j=0;j<4;j++)
printf("%d ",score[i][j]);
printf("\n");
}

c=avg(score);


printf("The num is :%.2f\n",c);


return 0;
}


float avg(int array[4][4])
{
int i,j,sum=0;
for(i=0;i<4;i++)
{
for(j=1;j<4;j++)
sum=sum+array[i][j];

return sum;
}
}
...全文
5590 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
FightForProgrammer 2014-12-22
  • 打赏
  • 举报
回复
for(j=1;j<4;j++) sum=sum+array[i][j]; 里面的j是不是应该从0开始
赵4老师 2014-12-22
  • 打赏
  • 举报
回复
return (float)sum;
swiftgod 2014-12-22
  • 打赏
  • 举报
回复
多谢各位大神!!!问题已解决!
ranky2009 2014-12-22
  • 打赏
  • 举报
回复
//你的函数问题很大 //1.函数名为avg,那应该是求平均值 //2.要求和,请将函数命名为sum //3.注意函数返回值,如果要返回多着只,请返回数组的指针,例如float*,而不是float #include<stdio.h> void calculate(int array[4][4], float sum[4], float average[4]) { int i, j; for(i = 0;i < 4; ++i) { for(j = 1;j < 4; ++j) { sum[i] += array[i][j]; } average[i] = sum[0] / 3; } } int main() { int i,j; float sum[4], avg[4]; for(i = 0;i < 4; ++i) { sum[i] = avg[i] = 0.0; } int score[4][4] = {{11,97,95,77},{12,96,87,93},{13,96,88,79},{14,91,99,89}}; //行为学生学号,列为学生成绩 printf("Num Chinese Math English\n"); for(i=0;i<4;i++) { for(j=0;j<4;j++) printf("%d ",score[i][j]); printf("\n"); } calculate(score,sum,avg); for(i = 0;i < 4; ++i) { printf("the sum is :%.2f || the avg is :%4.2f\n", sum[i], avg[i]); } return 0; }
swiftgod 2014-12-21
  • 打赏
  • 举报
回复
不对,拿到括号外是返回的整个数组的和
swiftgod 2014-12-21
  • 打赏
  • 举报
回复
引用 1 楼 fztfztfzt 的回复:
return sum;拿到{}外
这样我试了不行,如果拿到括号外,那么会输出第一行的,无法输出2,3,4行的和。谢谢你啊
fztfztfzt 2014-12-21
  • 打赏
  • 举报
回复
return sum;拿到{}外

33,322

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧