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

求解答啊 不知道哪错了 运行不出来

#include <stdio.h>

int main()

{

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

    int total = fun1(score);

    int max = fun2(score);

    int min = fun4(score);

    int average = total/10;

    fun3(score);

    printf("%d",max);

    printf("%d",min);

    printf("%d",total);

    printf("%d",average);

    return 0;

}


int fun1(int score[]){

    int total = 0;

    for(int i=0;i<10;i++){

        total += score[i];

    }

    return total;

}


int fun2(int score[]){

    int max;

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

        if(score[i]>max){

            max = score[i];

        }

    }

    return max;

}


int fun4(int score[]){

    int min;

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

        if(score[i]<min){

            min = score[i];

        }

    }

    return min;

}


void fun3(int score[]){

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

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

            if(score[j]<score[j+1]){

                int temp;

                temp=score[j];

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

                score[j+1]=temp;

            }

        }

    }

    for(int i=0;i<10;i++){

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

    }

}


正在回答

3 回答

求最大值、最小值等几个函数判断循环结束的条件应该为i<10或i<=9

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

必须先声明函数,然后才能调用函数,而且数组里的N是不用加的,放在编译器里是错误的,因为N并未声明,慕课网的代码运行有一点问题,换成下边在编译器运行是可以的,希望可以帮助到你。


#include <stdio.h>

int fun1(int score[]){

    int total = 0;

    for(int i=0;i<10;i++)

    {

        total += score[i];

    }

    return total;

}

int fun2(int score[]){

int max=score[0];

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

    {

        if(score[i]>max)

        {

            max = score[i];

        }

    }

    return max;

}

int fun4(int score[]){

    int min=score[0];

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

        if(score[i]<min){

            min = score[i];

        }

    }

    return min;

}

void fun3(int score[]){

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

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

            if(score[j]<score[j+1]){

                int temp;

                temp=score[j];

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


                score[j+1]=temp;

            }

        }

    }

    for(int i=0;i<10;i++){

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

    }

    printf("\n");

}

int main()

{  

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

    int total = fun1(score);

    int max = fun2(score);

    int min = fun4(score);

    int average = total/10;

    fun3(score);

    printf("%d\n",max);

    printf("%d\n",min);

    printf("%d\n",total);

    printf("%d\n",average);

    return 0;

}


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

除了循环条件外,还有在函数实现的时候int score[N]是不对的,改成int score[]就好了

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

举报

0/150
提交
取消

求解答啊 不知道哪错了 运行不出来

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