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

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

最后的綜合練習

為什么最后的sort(score)可以輸出倒序的成績,還有上面求倒序成績的時候為什么是i=N-2

正在回答

2 回答


?for(i=N-2;i>=0;i--){
??for(j=0;j<=i;j++){
??
?n-2的時候,j最大值是i=N-2,就是8,然后下邊比較arr[8]和arr[9]的大小關系。arr[9]已經是最后一個元素。?如果上邊寫n-1的話下邊判斷數組元素大小j+1的時候就越界了。


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

#include <stdio.h>
#define N 10
void printScore(int score[]){
??? int i;
?printf("\n");
?for(i=0;i<N;i++){
??printf("%d\t",score[i]);
?}
?printf("\n");
}
int getTotalScore(int score[]){
?int sum = 0;
?int i;
?for(i=0;i<N;i++){
??sum+=score[i];
?}
?return sum;
}
int getAvgScore(int score[]){
?return getTotalScore(score)/N;
}
int getMax(int score[]){
?int max = -1;
?int i;
?for(i=0;i<N;i++){
??if(score[i]>max){
???max = score[i];
??}
?}
?return max;
}
int getMin(int score[]){
?int min = 100;
?int i;
?for(i=0;i<N;i++){
??if(score[i]<min){
???min=score[i];
??}
?}
?return min;
}
void sort(int score[]){
?int i,j;
?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;
???}
??}
?}
?printScore(score);
}
int main()
{
??? int score[N]={67,98,75,63,82,79,81,91,66,84};
??? int sum,avg,max,min;
???? sum = getTotalScore(score);
???? avg = getAvgScore(score);
???? max = getMax(score);
? min = getMin(score);
??? printf("總分是:%d\n",sum);
?printf("平均分是:%d\n",avg);
?printf("最高分是:%d\n",max);
?printf("最低分是:%d\n\n",min);
?printf("********成績排名********\n");
?sort(score);
??? return 0;
}

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

舉報

0/150
提交
取消
C語言入門
  • 參與學習       926904    人
  • 解答問題       21533    個

C語言入門視頻教程,帶你進入編程世界的必修課-C語言

進入課程

最后的綜合練習

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

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

幫助反饋 APP下載

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

公眾號

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