关于最近学习循环与二维数组的问题
最近在学习循环与二维数组,让我感到纳闷的是,两者单独练习我没有问题,一旦合在一起运用,脑子就转不过弯,也许是对数组和循环还没有理解透,当然逻辑也有很大的关系。就如下面这一道题目
2008年北京奥运会,A国的运动员参与了n天的决赛项目(1<=n<=17)。现在要统计一下A国所获得的金,银,铜奖牌数目及总奖牌数。
输入格式
3
1 0 1
1 3 0
1 1 2
输出格式
3 4 2
#include <stdio.h> int main() { int n,i,a1,b1,c1,sum,a,b,c; while(scanf("%d",&n)!=EOF) { a1=0,b1=0,c1=0,sum=0; for(i=0;i<n;i++) { scanf("%d %d %d",&a,&b,&c); a1+=a; b1+=b; c1+=c; sum=a1+b1+c1; } printf("%d %d %d %d\n",a1,b1,c1,sum); } return 0; }
这是我想到的一种只用循环的方法,因为学了数组,所以想用二维数组试试看,结果不行,但是不知道是哪里出了错,希望有大佬能够指点。
#include <stdlib.h> int main() { int i,j,a[100][3],n,m; while(scanf("%d",&n)!=EOF) { for(i=0;i<n;i++) { for(j=0;j<3;j++) { scanf("%d",&a[i][j]); } } for(j=0;j<3;j++) { for(i=0;i<n;i++) { a[n][j]+=a[i][j]; a[n][3]+=a[n][j]; } } printf("%d %d",a[n][j],a[n][3]); } return 0; }