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

为什么算不出结果?

#include <stdio.h>
int main()
{
    int score[]={67,98,75,63,82,79,81,91,66,84};
    int sum;
    int max=score[0];
    int min=score[0];
    int i,j;
    for(i=0;i<10;i++)
    {
        sum+=score[i];
        if(score[i]>=max)
        {
            max=score[i];
        }
        else if(score[i]<min)
        {
            min=score[i];
        }
    }
    printf("计算考试的总分为:%d\n",sum);
    printf("计算考试的最高分为:%d\n",max);
    printf("计算考试的最低分为:%d\n",min);
    double averge=sum/10.0;
    printf("计算考试的平均分为:%.1f\n",averge);
    for(i=8;i>=0;i--)
    {
        for(j=0;j<=i;j)
        {
            if(score[j]<score[j+1])
            {
                int temp;
                temp=score[j+1];
                score[j+1]=score[j];
                score[j]=temp;
            }
        }
    }
    printf("计算考试的降序排序为:");
    for(i=0;i<10;i++)
    {
        if(i==9)
        {
            printf("%d",score[i]);
        }
        else
        {
            printf("%d, ",score[i]);
        }
    }
    return 0;
}

正在回答

2 回答

第三个for语句:   

for(i=8;i>=0;i--)
    {
        for(j=0;j<=i;j); 这里你没有j++。你的程序也就没有完成降序而已,就是这里的细节出了问题。你试试改这里就好了,我已经验证成功了。
   

 

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

lzj1136667251 提问者

好了,谢谢,找了好久
2018-10-11 回复 有任何疑惑可以回复我~

#include <stdio.h>

int main()

{

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

    

    

    int sum(int score[])

    {

        int sum;

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

        {

            sum+=score[i];

            

        }

        

        return sum;

    }

    

    int topScore(int score[])

    {

        int top = 0;

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

        {

            if(score[i]>top)

            top = score[i];

        }

        return top;

    }

    

    int bottomScore(int score[])

    {

        int bottom = 100;

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

        {

            if(score[i]<bottom)

            bottom = score[i];

        }

        return bottom;

    }

    

    int average(int score[])

    {

        int i;

        int sum = 0;

        

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

        {

            sum += score[i];

        }

        

        return sum/i;

    }

    

    void bubble_sort(int arr[],int n)

    {

        int temp;

        for(int i=n-1; i>0; i--)

        {

            for(int j=n-1; j>0; j--)

            {

                if(arr[j] > arr[j-1])

                {

                    temp = arr[j];

                    arr[j] = arr[j-1];

                    arr[j-1] = temp;

                }

            }

        }

    }

    

    

    printf("sum=%d\n",sum(score));

    printf("topScore=%d\n",topScore(score));

    printf("bottomScore=%d\n",bottomScore(score));

    printf("averageScore=%d\n",average(score));

    

    printf("***********排序后********\n");

    

    bubble_sort(score,10);

    

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

    {

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

    }

    

    return 0;

    

}


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

举报

0/150
提交
取消

为什么算不出结果?

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