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

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

我應該怎么改?

https://img1.sycdn.imooc.com//5d5031ba00017f4713610581.jpg為什么這個代碼的運行結果是降序排列:10個63,

正在回答

4 回答

試試把倒數第十三行的score[j]改成score[i]

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

我人暈了 提問者

改了確實是對的,謝謝大佬!
2019-08-18 回復 有任何疑惑可以回復我~

score[j]對應的只有一個值

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

#include <stdio.h>

int sum(int score[10])

{

? ? int i;

? ? int j=0;

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

? ? {

? ? ? ? j+=score[i];

? ? }

? ? return j;

}

int max(int score[10])

{

? ? int i,j;

? ? j=score[0];

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

? ? {

? ? ? ? if(score[i]>j)

? ? ? ? {

? ? ? ? ? ? j=score[i];

? ? ? ? }

? ? }

? ? return j;

}

int min(int score[10])

{

? ? int i,j;

? ? j=score[0];

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

? ? {

? ? ? ? if(score[i]<j)

? ? ? ? {

? ? ? ? ? ? j=score[i];

? ? ? ? }

? ? }

? ? return j;

}

float average(int score[10])

{

? ? int i;

? ? int j=0.0;

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

? ? {

? ? ? ? j+=score[i];

? ? }

? ? return (j+0.0)/10;

}

void gradeDown()

{

? ? printf("降序排列為:");

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

? ? int i,j,k;

? ? for(i=9;i>=0;i--)

? ? {

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

? ? ? ? {

? ? ? ? ? ? if(score[j]<score[j+1])

? ? ? ? ? ? {

? ? ? ? ? ? ? ? k=score[j+1];

? ? ? ? ? ? ? ? score[j+1]=score[j];

? ? ? ? ? ? ? ? score[j]=k;

? ? ? ? ? ? }

? ? ? ? }

? ? }

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

? ? {

? ? ? ? printf("%d ",score[j]);

? ? }

}

int main()

{

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

? ? printf("總分:%d\n",sum(score));

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

? ? printf("最低分:%d\n",min(score));

? ? printf("平均分:%.1f\n",average(score));

? ? gradeDown();

? ? return 0;

}

現在改成這樣又全是98了


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

你把代碼貼出來,我在你代碼基礎上改。

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

舉報

0/150
提交
取消

我應該怎么改?

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

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

幫助反饋 APP下載

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

公眾號

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