为什么算不出结果?

来源:6-12 综合练习

lzj1136667251

2018-10-08 11:23

#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回答

  • 醉酒一逍遥
    2018-10-10 00:06:00
    已采纳

    第三个for语句:   

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

     

    lzj113...

    好了,谢谢,找了好久

    2018-10-11 21:41:08

    共 1 条回复 >

  • zhuangxd
    2018-10-10 09:18:56

    #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;

        

    }


C语言入门

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

926020 学习 · 20793 问题

查看课程

相似问题