A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 geng 于 2014-11-18 17:33 编辑

// 提示输入5个学生的成绩,算出平均分、最高分、最低分、然后输出

int main()
{
    int a, b, c, d, e;

    printf("输入5个分数(用空格键隔开)\n");

    scanf("%d %d %d %d %d", &a, &b , &c, &d, &e);

    int ages[] = {a, b, c, d, e};

    int arrayAverage(int a[], int count);// 平均数声明

    int arrayMax(int a[], int count); // 最大值声明

    int arrayMin(int a[], int count); // 最小值声明

    int average = arrayAverage(ages, sizeof(ages)/sizeof(int));// 平均数

    int max = arrayMax(ages, sizeof(ages)/sizeof(int)); // 最大值

    int min = arrayMin(ages, sizeof(ages)/sizeof(int));// 最小值



    printf("平均分数是:%d,最高分数是:%d,最低分数是:%d\n", average, max, min);


}

int arrayAverage(int a[], int count)
{
    int sum = 0;

    for (int i = 0; i < count; i++)
    {
        sum += a;
    }
    int average = sum / count;

    return average;
}


int arrayMax(int a[], int count)
{
    int max = a[0];

    for (int i = 1; i < count; i++)
    {
        if (max < a)
        {
            max = a;
        }
    }
    return max;
}

int arrayMin(int a[], int count)
{
    int min = a[0];

    for (int i = 1; i < count; i++)
    {
        if (min > a)
        {
            min = a;
        }
    }
    return min;

}


评分

参与人数 1黑马币 +1 收起 理由
星河鹭起 + 1

查看全部评分

7 个回复

倒序浏览
“sum += a”这种地方应该是a[i]吧,还有sizeof(ages)/sizeof(int)这玩意弄个int cout =  sizeof(ages)/sizeof(int);好一点吧,另外函数声明放主函数前面吧
回复 使用道具 举报
学习一下了
回复 使用道具 举报
从今以后 发表于 2014-11-18 17:56
“sum += a”这种地方应该是a吧,还有sizeof(ages)/sizeof(int)这玩意弄个int cout =  sizeof(ages)/sizeof ...

非常感谢
回复 使用道具 举报
再优化成一个循环吧
回复 使用道具 举报
weizhang00 发表于 2014-11-19 09:19
再优化成一个循环吧

能说的具体点么 非常感谢
回复 使用道具 举报
geng 发表于 2014-11-19 13:25
能说的具体点么 非常感谢

就是一趟循环里,放三个if啊,其实也没什么啦
回复 使用道具 举报
geng 中级黑马 2014-11-20 00:23:23
8#
weizhang00 发表于 2014-11-19 14:09
就是一趟循环里,放三个if啊,其实也没什么啦

哦 这个样子啊 了解了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马