怎么提交第一次正確,第二次提交就錯
#include <stdio.h>
/*總分*/
int zongfen(int arr[10])
? ?{int sum=0;
? ? int i;
? ? for(i=0;i<10;i++)
? ? ? ? {
? ? ? ? ? sum +=arr[i] ;
? ? ? ? }
? ? ?return sum;? ?
? ?}
/*最高分?jǐn)?shù)*/? ?
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;?
? ? }
/*最低分?jǐn)?shù)*/? ??
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;?
? ? }?
? ??
/*平均分?jǐn)?shù)*/? ??
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;
}
2018-11-13
你在排序那里錯了,你要把所有數(shù)全部排一遍,而不是只排i位以前的數(shù),這題有兩種改法
第一種改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++)