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

怎么提交第一次正确,第二次提交就错


#include <stdio.h>

/*总分*/

int zongfen(int arr[10])

   {int sum=0;

    int i;

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

        {

          sum +=arr[i] ;

        }

     return sum;   

   }


/*最高分数*/   

int max(int arr[10]) 

    { int maxx=0;

      int i;

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

        {

         if(arr[i]>maxx)

           maxx=arr[i];

        } 

       return maxx; 

    }

/*最低分数*/    

int smlls(int arr[10]) 

    { int smll=arr[0];

      int i;

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

        {

         if(arr[i]<smll)

           smll=arr[i];

        } 

       return smll; 

    } 

    

/*平均分数*/    

float pjf(int arr[10])

{

 float sum=0;

    int i;

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

        {

          sum +=arr[i] ;

        }

     return sum/i;    

}


/*从高到低排列*/

int smllmax(int arr[10])

   {

       int i,j;

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

         {

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

            if(arr[j]<arr[j+1])

              {

                int dat=0;

                dat=arr[j];

                arr[j]=arr[j+1];

                arr[j+1]=dat;

                

              }

           

         }

    

      printf("从高到低:");   

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

         {

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

         }

         

    return 0;     

   }

   

   

int main()

{  

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

    

    printf("这次总分:%d\n",zongfen(score));

    printf("最高分是:%d\n",max(score));

    printf("最少分是:%d\n",smlls(score));

    printf("平均分是:%.2f\n",pjf(score));

    smllmax(score);

    return 0;

}


正在回答

1 回答

你在排序那里错了,你要把所有数全部排一遍,而不是只排i位以前的数,这题有两种改法

第一种改if:if(arr[j]<arr[i])

             { int dat;

               dat=arr[j];

               arr[j]=arr[i];

               arr[i]=dat;}

第二种改第二个for:  for(j=0;j<9;j++)


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

举报

0/150
提交
取消

怎么提交第一次正确,第二次提交就错

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