为了账号安全,请及时绑定邮箱和手机立即绑定

最后一题,求解,运行不了,老是有错误。

#include <stdio.h>
int main()
{
    int i;
    int score[10]={67,98,75,63,82,79,81,91,66,84};
    int sum=SUM(score);
    printf("%d,%d,%d,%lf\n",SUM(score),Max(score),Min(score),Ave(sum));
    Max(score);
    for(i=0;i<=9;i++)
    printf("%d ",score[i]);
    return 0;
}
int SUM(int score[10])
{
    int i;
    int sum=0;
    for(i=0;i<=9;i++)
    {
        sum+=score[i];
    }
    return sum;
}
int Max(int score[10])
{
    int i,j,temp;
    for(i=8;i<=0;i--)
    {
        for(j=0;j<=i;j++)
        {
            if(score[j]>=score[j+1])
            temp=score[j];
            score[j]=score[j+1];
            score[j+1]=temp;
        }
    }
    return score[9];
}
int Min(int score[10])
{
    int i,j,temp;
    for(i=8;i<=0;i--)
    {
        for(j=0;j<=i;j++)
        {
            if(score[j]>=score[j+1])
            temp=score[j];
            score[j]=score[j+1];
            score[j+1]=temp;
        }
    }
    return score[0];
}
double Ave(int sum)
{
    double ave;
    ave=sum/10;
    return ave;
}

求大神解答。

正在回答

2 回答

#include <stdio.h>

int main()

{

    int i;

    int score[10]={67,98,75,63,82,79,81,91,66,84};

    int sum=SUM(score);

    printf("%d,%d,%d,%d\n",SUM(score),Max(score),Min(score),Ave(sum));

    Max(score);

    for(i=0;i<=9;i++)

    printf("%d ",score[i]);

    return 0;

}

int SUM(int score[10])

{

    int i;

    int sum=0;

    for(i=0;i<=9;i++)

    {

        sum+=score[i];

    }

    return sum;

}

int Max(int score[10])

{

    int i,j,temp;

    for(i=8;i>=0;i--)

    {

        for(j=0;j<=i;j++)

        {

            if(score[j]>score[j+1])

            {

                temp=score[j];

                score[j]=score[j+1];

                score[j+1]=temp;

            }

        }

    }

    return score[9];

}

int Min(int score[10])

{

    int i,j,temp;

    for(i=8;i>=0;i--)

    {

        for(j=0;j<=i;j++)

        {

            if(score[j]>score[j+1])

            {

                temp=score[j];

                score[j]=score[j+1];

                score[j+1]=temp;

            }

        

        }

    }

    return score[0];

}

int Ave(int sum)

{

    int ave;

    ave=sum/10;

    return ave;

}


0 回复 有任何疑惑可以回复我~
#1

天虫

我给你细调了一下,现在就可以了,我先把我改动的细节说一下:一、Ave函数的类型我改成了整型,这也是你函数的编译问题,把这个改正之后你的结果就能显示出来了,但是你显示的结果并不符合题目的的要求,这就是你函数的逻辑错误了,也是第二点;二、在函数max和min中的if语句后面没有加上{},导致了逻辑问题(我也出过类似的问题),加上之后结果正确了。希望对你有帮助,加油!
2016-02-05 回复 有任何疑惑可以回复我~

你的自定义函数没有在开头进行函数说明

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

最后一题,求解,运行不了,老是有错误。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信