黑马程序员技术交流社区

标题: 怎么改才能更好点呢 总感觉有地方还可以改改 [打印本页]

作者: geng    时间: 2014-11-18 14:31
标题: 怎么改才能更好点呢 总感觉有地方还可以改改
本帖最后由 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;

}



作者: 从今以后    时间: 2014-11-18 17:56
“sum += a”这种地方应该是a[i]吧,还有sizeof(ages)/sizeof(int)这玩意弄个int cout =  sizeof(ages)/sizeof(int);好一点吧,另外函数声明放主函数前面吧
作者: 天空总是很蓝    时间: 2014-11-18 19:14
学习一下了
作者: geng    时间: 2014-11-19 09:14
从今以后 发表于 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
weizhang00 发表于 2014-11-19 09:19
再优化成一个循环吧

能说的具体点么 非常感谢
作者: weizhang00    时间: 2014-11-19 14:09
geng 发表于 2014-11-19 13:25
能说的具体点么 非常感谢

就是一趟循环里,放三个if啊,其实也没什么啦
作者: geng    时间: 2014-11-20 00:23
weizhang00 发表于 2014-11-19 14:09
就是一趟循环里,放三个if啊,其实也没什么啦

哦 这个样子啊 了解了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2