| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 597 人关注过本帖
标题:计算12个学生3门课的平均分,然后排名次(我的思路有点乱,大家能帮我看看代 ...
只看楼主 加入收藏
qq334591446
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2012-11-4
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:7 
计算12个学生3门课的平均分,然后排名次(我的思路有点乱,大家能帮我看看代码,该正确吗)
12个学生的3门成绩对应如下
88    99    78
88    76    100
90    97    77
99    76    98
77    99    90
67    78    87
77    88    99
87    76    67
66    76    89
87    99    87
66    87    78
89    88    77
编下面的代码必须要用到教授给的两个函数,计算平均值ComputeMean() 和排名次 ComputeRank()这两个函数,可是这两个函数我不会用,放哪里也不知道,我用的是教授刚交的2次元排列,好难,但是规定必须这么解题,程序编了一半,而且也没用函数做。而且也必须要排名次。搞了一个晚上都不会。只好寻求帮助,希望能够以我这个思路解出来,我理解也比较快点。我的分数不多了,只能给个10分,请大家见谅
#include <stdio.h>
grade[12][3]={88,99,78,88,76,100,90,97,77,99,76,98,77,99,90,67,78,87,77,88,99,87,76,67,66,76,89,87,99,87,66,87,78,89,88,77};
main()
{
        int grade[12][3], total[12];
        float mean[12];
        int no, sub;
        //read_array_value();
        for( no=0; no < 12; no++ )
               for(sub=0, total[no]=0; sub < 3; sub++ )
            total[no] += grade[no][sub];
        for( no=0; no < 12; no++ ) {
               mean[no] = total[no] / 3.;
               printf(“mean of student %d is %f\n”, no+1, mean[no]);
        }


[ 本帖最后由 qq334591446 于 2012-11-14 10:52 编辑 ]
搜索更多相关主题的帖子: 平均值 
2012-11-13 23:53
青春无限
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江苏
等 级:贵宾
威 望:24
帖 子:3452
专家分:19340
注 册:2012-3-31
收藏
得分:3 
看看

学 会看代码…学习写程序…学会搞开发…我的目标!呵呵是不是说大话啊!!一切皆可能
2012-11-14 00:01
hdt123
Rank: 1
等 级:新手上路
帖 子:7
专家分:4
注 册:2012-11-8
收藏
得分:3 
回复 楼主 qq334591446
数组的话不是应该从0开始的吗 ?我也是现在才刚开始学这些的,希望以后可以向你学习一下
2012-11-14 00:02
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:3 
这样写就能打印出来平均成绩了

#include <stdio.h>
void main()
{
    int grade[12][3]={88,99,78,88,76,100,90,97,77,99,76,98,
                      77,99,90,67,78,87,77,88,99,87,76,67,66,
                      76,89,87,99,87,66,87,78,89,88,77};
    int total[12];
    double mean[12];
    int no, sub;
    for( no=0; no < 12; no++ )
       for(sub=0, total[no]=0; sub < 3; sub++ )
            total[no] += grade[no][sub];
    for( no=0; no < 12; no++ )
    {
       mean[no] = (double)total[no] / 3.0;
       printf("mean of student %d is %8.2lf\n", no+1, mean[no]);
    }
}

至于你说的那2个函数  我估计应该是自定义函数 而不是系统函数

DO IT YOURSELF !
2012-11-14 08:15
Magic_July
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:102
专家分:109
注 册:2012-9-25
收藏
得分:3 
我看不出排名怎么出来。求解
2012-11-14 09:33
qq334591446
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2012-11-4
收藏
得分:0 
回复 4楼 wp231957
却是我自己定义的函数啊,教授要求必须要用那两个函数。。我不会用呢。。能教教我吗
2012-11-14 10:22
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
把整个函数体防到main函数前面 就可以直接使用了  否则需要声明

DO IT YOURSELF !
2012-11-14 11:01
qq334591446
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2012-11-4
收藏
得分:0 
回复 7楼 wp231957
啊,那那个排名次的怎么弄啊?
2012-11-14 11:58
快速回复:计算12个学生3门课的平均分,然后排名次(我的思路有点乱,大家能帮我 ...
数据加载中...
 
   



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

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