| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1086 人关注过本帖
标题:二维数组的问题,帮分析一下
只看楼主 加入收藏
C爱好着
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2008-10-31
收藏
 问题点数:0 回复次数:9 
二维数组的问题,帮分析一下
一个学习小组有5个人,每个人有三门课的考试成绩。求全组分科的平均成绩和各科总平均成绩。
                             
math           85    61     59    85    76                             
c              75    65     63    87    77                              
foxpro         92    71     70    90    85                           

  

可设一个二维数组a[5][3]存放五个人三门课的成绩。再设一个一维数组v[3]存放所求得各分科平均成绩,设变量average 为全组各科总平均成绩。编程如下:
#include<stdio.h>
main()

{int i,j,s=0,average,v[3],a[5][3];

  printf("input score\n");

  for(i=0;i<3;i++)            //* i为行,循环第一之第三行。共循环3次
{
      for(j=0;j<5;j++)           //* j为列,每循环行一次,循环列5次,共循环15次

      { scanf("%d",&a[j][i]);        / /* 按图标形式输入行,列中的数字

        s=s+a[j][i];}              //*s为和,上面循环一次和加一次

      v[i]=s/5;              / /*v[i]为行的平均成绩,平均成绩等于和除5
         s=0;                 //*这个就不知道什么意思了。帮我讲下好吗。谢谢

   }

  average =(v[0]+v[1]+v[2])/3;/*average是总平均成绩等于每行平均成绩之和除3

  printf("math:%d\nc languag:%d\ndbase:%d\n",v[0],v[1],v[2]);

  printf("total:%d\n", average );
    getch();


}
搜索更多相关主题的帖子: 数组 
2008-11-21 14:34
nianshi
Rank: 1
等 级:新手上路
帖 子:199
专家分:0
注 册:2007-11-7
收藏
得分:0 
s=0;   这一句是多余的 完全可以去掉

行至水穷处 坐看去起时
C语言QQ群1:51871776  群2:26313099  群3:47145282
2008-11-21 15:08
jlu11jj
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-11-21
收藏
得分:0 
s=0,是将s复位,要不下一次的结果会在上一次S结果之上进行相加!
2008-11-21 16:08
zqy110007
Rank: 3Rank: 3
来 自:外太空
等 级:论坛游民
威 望:6
帖 子:1493
专家分:82
注 册:2008-11-19
收藏
得分:0 
s是用来统计当前这个科目有多少分用的,当第一门统计完了,自然要清零啦.
比如说math的s=250,进入下一轮,也就是c这门课程的时候s的初始值就是250,那不就错了...

每个人都是蛤蟆,只是井的大小不同罢了.
沙石下的泉水,挖得越深,泉水越清.
2008-11-21 16:14
C爱好着
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2008-10-31
收藏
得分:0 
哦。知道了。谢谢各位啦。
2楼的。s=0不能去掉。去掉结果就不对啦
但也谢谢你。
2008-11-21 16:38
zqy110007
Rank: 3Rank: 3
来 自:外太空
等 级:论坛游民
威 望:6
帖 子:1493
专家分:82
注 册:2008-11-19
收藏
得分:0 
LS,谢谢你给的题目,让我自己也学到了一些东西..

每个人都是蛤蟆,只是井的大小不同罢了.
沙石下的泉水,挖得越深,泉水越清.
2008-11-21 17:20
fengzhi_zxw
Rank: 1
来 自:地球
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-11-11
收藏
得分:0 
当S在《s=s+a[j][i];这一行中是用来计算每一组的总成绩
当S在s=0;这一行中是将上一次计算的总成绩清0
这样在下做第二组总成绩计算的时候不会把上一组的总成绩在加上去
就像这样如果没有s=0这一行
第一组的成绩总成绩假如为450
第二组的成绩则为900(原来自己预计第二组的成绩为500)
2008-11-21 19:35
zerojunyan
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-11-2
收藏
得分:0 
我觉得定义二维数组定义得不太好,这里定义的是a[5][3],通常习惯上是前一个下标表示行,后一个表示列,但是你这里刚好反了,如果改一下会好点。
2008-11-21 19:59
C爱好着
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2008-10-31
收藏
得分:0 
我这都是在,论坛里下的。
有时间多看看,对自己有帮助的。
2008-11-22 17:08
andytang
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-11-24
收藏
得分:0 
不错
2008-11-25 09:45
快速回复:二维数组的问题,帮分析一下
数据加载中...
 
   



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

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