最近在学习循环与二维数组,让我感到纳闷的是,两者单独练习我没有问题,一旦合在一起运用,脑子就转不过弯,也许是对数组和循环还没有理解透,当然逻辑也有很大的关系。就如下面这一道题目 

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;
}

  

 

版权声明:本文为suisuiya原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/suisuiya/p/7746249.html