亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么我的降序無效?

#include?<stdio.h>
int?sum(int?score[],int?N)
{
????int?sum1=0;
????int?i;
????for(i=0;i<N;i++)
????{
????????sum1+=score[i];
????}
????return?sum1;
}
int?getmax(int?score[],int?N)
{
????int?max=score[0];
????int?i;
????for(i=1;i<N;i++)
????{
????????if(score[i]>max)
????????max=score[i];
????}
????return?max;
}
int?getmin(int?score[],int?N)
{
????int?min=score[0];
????int?i;
????for(i=1;i<N;i++)
????{
????????if(score[i]<min)
????????min=score[i];
????}
????return?min;
}
float?getaver(int?sum,int?N)
{
????float?sum2=(float)(sum);
????float?aver=sum2/N;
????return?aver;
}
int?paixu(int?score[],int?N)
{
????int?i,j,k;
????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(k=0;i<N;k++)
????{
????????printf("%d\n",score[k]);
????}
????return?0;
}
int?main()
{
????int?score[]={67,98,75,63,82,79,81,91,66,84};
????int?N=10;
????int?sum1=sum(score,N);
????int?max=getmax(score,N);
????int?min=getmin(score,N);
????int?aver=getaver(sum1,N);
????printf("數組的和是%d\n",sum1);
????printf("數組的最大值是%d\n",max);
????printf("數組的最小值是%d\n",min);
????printf("數組的平均值是%d\n",aver);
????int?paixu(score,N);
????return?0;
}


運行結果:
數組的和是786
數組的最大值是98
數組的最小值是63
數組的平均值是78


正在回答

2 回答

你這個降序的邏輯是沒有錯的,但是后面的循環部分寫的有點小問題,我修改了一下

void? sort(int score[], int N)//你這個函數也不用返回值就設置成void就好了,sort就是排序的意思
{
??? int i, j, k;
??? for(i = N-1; 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(k = 0; k < N; k++)
??? {
??????? printf("%d\n", score[k]);
??? }
?? ?
}

還有一點就是注意一點代碼規范,代碼里加入適當的空格看起來會更舒服一些

還有你的命名規范,如getmax應該寫成getMax,最好別用拼音命名可以用sort。

在main函數中調用的時候直接sort(score, N);

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

寒月0 提問者

注釋點贊,不過排序無效因為我加了int??!
2015-12-09 回復 有任何疑惑可以回復我~

?float?sum2=(float)(sum); ? 麻煩幫我解釋一下 求平均數時為什么要這么寫?

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

舉報

0/150
提交
取消

為什么我的降序無效?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號