| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1516 人关注过本帖
标题:C语言数组中的FOR循环问题
只看楼主 加入收藏
chenyuechen
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2016-1-3
结帖率:80%
收藏
已结贴  问题点数:20 回复次数:4 
C语言数组中的FOR循环问题
#include<stdio.h>
#include<conio.h>
void main()
{
int score[2][3]={0},i,j;
int sum[3]={0};
    for(i=0;i<2;i++)//代表两个人
        {
        for(j=0;j<3;j++)//代表三课成绩
            {
            scanf("%d",&score[i][j]);
            sum[j]+=score[i][j];
            }
        }
        
    for(j=0;j<3;j++)
    {
    printf("%d\n",sum[j]);
    }
}
内层的FOR循环不是应该循环三次,三课成绩相加吗,为什么是两个人的单课成绩相加,新手,实在不明白,看了别生气啊
搜索更多相关主题的帖子: include C语言 
2016-01-08 19:33
ms268el8
Rank: 4
等 级:业余侠客
威 望:1
帖 子:84
专家分:299
注 册:2015-11-30
收藏
得分:0 
i代表人,j代表課
剛開始i=0,j=0,
            scanf("%d",&score[0][0]);
            sum[0]+=score[0][0];
賦值第一人,第一課成積,並增加到第一課的sum
然後j++,i不變
            scanf("%d",&score[0][1]);
            sum[1]+=score[0][1];
賦值第一人,第二課成積,並增加到第二課的sum
然後j++,i不變
            scanf("%d",&score[0][2]);
            sum[2]+=score[0][2];
賦值第一人,第三課成積,並增加到第三課的sum
然後j++,此時j++後j=3,內層迴圈不符合條件。外層迴圈才算是執行完一次,所以i++。開始執行第二次外層迴圈內容,i=1,j=0;
            scanf("%d",&score[1][0]);
            sum[0]+=score[1][0];
賦值第二人,第一課成積,並增加到第一課的sum
此時第一課的sum就有了第一人和第二人的第一課成積之和
然後j++,i不變
            scanf("%d",&score[1][1]);
            sum[1]+=score[1][1];
賦值第二人,第二課成積,並增加到第二課的sum
此時第二課的sum就有了第一人和第二人的第二課成積之和
然後j++,i不變
            scanf("%d",&score[1][2]);
            sum[2]+=score[1][2];
賦值第二人,第三課成積,並增加到第三課的sum
此時第三課的sum就有了第一人和第二人的第三課成積之和
最後迴圈輸出sum三課的值
2016-01-08 20:08
chenyuechen
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2016-1-3
收藏
得分:0 
回复 2楼 ms268el8
内层FOR循环,加两次,但是,如果是单科成绩相加的话,总觉得该是,第一次的循环是付单科成绩的初始值,第二次内循是第二个人正再相加前一个人付的初始成绩,加一次就够了,加三次的话,是单人的三科成绩相加
2016-01-08 22:17
ms268el8
Rank: 4
等 级:业余侠客
威 望:1
帖 子:84
专家分:299
注 册:2015-11-30
收藏
得分:20 
第一次外層的三次內層迴圈循環,
sum[0]+=score[0][0]
sum[1]+=score[0][1]
sum[2]+=score[0][2]
第二次外層的三次內層迴圈循環,
sum[0]+=score[1][0]
sum[1]+=score[1][1]
sum[2]+=score[1][2]
所以最後
sum[0]=score[0][0]+score[1][0]
sum[1]=score[0][1]+score[1][1]
sum[2]=score[0][2]+score[1][2]
就是兩人的單科成績相加到對應的sum
2016-01-08 22:57
chenyuechen
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2016-1-3
收藏
得分:0 
回复 4楼 ms268el8
谢谢
2016-01-09 10:31
快速回复:C语言数组中的FOR循环问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016084 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved