问答详情
源自:6-12 综合练习

6-12综合练习 输出结果不合适,帮忙找出问题 ???????


#include <stdio.h>
#define N 10
int sum(int score[])  //计算总分
{
    int i;
    int s = 0;
    if(i=0,i<N,i++)
    {
        s+=score[i];
    }
    return s;
}
int va(int score[])  //计算平均分
{
    return sum(score)/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++)
    {
        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 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);
    return 0;
}

http://img.mukewang.com/5866835c00017f2701740127.jpg

提问者:闲时弄月 2016-12-30 23:56

个回答

  • 微笑丶最美的曲调
    2017-01-01 16:41:55

    看错了0.0

  • 微笑丶最美的曲调
    2017-01-01 16:40:51

    排序那错了,我也新手,看着比较累。就不改了。用的冒泡的话是两层for循环里边再交换。你写了一层不说,而且交换的也不对。


     




  • 闲时弄月
    2016-12-31 00:49:35

    我帮降序排列代码单独拿出来,输出结果合适

  • 闲时弄月
    2016-12-31 00:11:29

    总分和平均值 是我用错了循环语句,应该用for;

    但是排序是怎么回事