不知道哪里错了,降序排列输出结果全是67????

来源:6-12 综合练习

闲时弄月

2016-12-31 12:45

#include <stdio.h>
#define N 10
int sum(int score[])  //计算总分
{
    int i;
    int s = 0;
    for(i=0; i<N; i++)
    {
        s += score[i];
    }
    return s;
}
int va(int score[])  //计算平均分
{
    return (sum(score)+0.0)/N;
}
void des(int score[]) //降序排列 
{
    int i,j;
    for(i=N-2;i>=0;i--)
    {
        for(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(i=0;i<N;i++)
    {
        if(i != 9)   
            printf("%d, ", score[i]);
        else
            printf("%d", score[i]);
    }
    printf("\n");
}
int max(int score[]) //最大值
{
    int j,m;
    for(j=0;j<=N-2;j++)
    {
        if(score[j]>score[j+1])
        {
            score[j+1] = score[j];
            m = score[j+1];
        }
    }
    return m;
}
int min(int score[]) //最小值
{
    int j,n;
    for(j=0;j<=N-2;j++)
    {
        if(score[j]<score[j+1])
        {
            score[j+1] = score[j];
            n = score[j+1];
        }
    }
    return n;
}
int main()
{
    int score[N]={67,98,75,63,82,79,81,91,66,84};
    int i,s,v,mx,mn;
    s = sum(score);
    v = va(score);
    mx = max(score);
    mn = min(score);
    printf("考试总分:%d\n",s);
    printf("考试平均分:%d\n",v);
    printf("考试成绩最高分:%d\n",mx);
    printf("考试成绩最低分:%d\n",mn);
    printf("考试成绩降序排列:\n");
    des(score);
}

http://img.mukewang.com/586738e70001bb5b03660209.jpg

写回答 关注

2回答

  • 慕粉26
    2017-01-09 00:40:36
    已采纳

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

                m = score[j+1];  }

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

     n = score[j+1]; }

    最大值,最小值那里直接m=score[j];n=score[j];你把他们赋值成一样的了


    闲时弄月

    改成这样就可以了,但是理解错了 int max(int score[]) //最大值 { return score[0]; } int min(int score[]) //最小值 { return score[N-1]; }

    2017-01-10 16:31:41

    共 3 条回复 >

  • 为啥有昵称
    2017-01-01 16:22:02

    都没问题啊   我试了下 没有问题

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926021 学习 · 20793 问题

查看课程

相似问题