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

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

我這代碼是不是太繁冗了? 80多行。

#include <stdio.h>

int Sort(int arr[])? ?//成績降序

{

? ? int i,j ;

? ? printf("成績降序排序為:\n");

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

? ? {

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

? ? ? ? {

? ? ? ? ? ? if(arr[j]>arr[j+1])

? ? ? ? ? ? {

? ? ? ? ? ? ? ? int sum;

? ? ? ? ? ? ? ? sum=arr[j];

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

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

? ? ? ? ? ? }

? ? ? ? }

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

? ? }

? ? return 0;

}

int Total(int arr[])? //總分

{

? ? int i,j;

? ? static int sum;

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

? ? sum=arr[i]+sum;

? ? printf("成績的總分是: %d",sum);

? ? return sum;

}

int average(int arr[]) //平均分

{

? ? int i;

? ? static int j;

? ? int sum;

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

? ? j=arr[i]+j;

? ? sum=j/10;

? ? printf("成績的平均分是: %d",sum);

}

int Max(int arr[]) //最高分

{

? ? int i,j;

? ? int sum=0;

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

? ? {

? ? ? ? if(arr[i]>sum)

? ? ? ? {

? ? ? ? ? ? sum=arr[i];

? ? ? ? }

? ? }

? ? printf("成績的最高分是: %d",sum);

? ? return 0;

}

int Min(int arr[]) //最低分

{

? ? int i,j;

? ? int sum;

? ? sum=arr[1];

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

? ? {

? ? ? ? if(arr[i]<sum)

? ? ? ? {

? ? ? ? ? ? sum=arr[i];

? ? ? ? }

? ? }

? ? printf("成績的最低分是: %d",sum);

? ? return 0;

}


int main()

{

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

? ? Sort(score);

? ? printf("\n");

? ? Total(score);

? ? printf("\n");

? ? average(score);

? ? printf("\n");

? ? Max(score);

? ? printf("\n");

? ? Min(score);

? ? printf("\n");

? ? return 0;

}


正在回答

2 回答

#include?<stdio.h>

//我的稍微合并了下54行

//總分

int?Total(int?score[])

{

????int?total;

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

????{

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

????}

????return?total;

}


//降序排序

void?Sort(int?score[])

{

????int?temp;

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

????{

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

????????{

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

????????????{

????????????????temp?=?score[j];

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

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

????????????}

????????}

????}

}

int?main()

{

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

????//降序排列

????Sort(score);

????printf("降序排列\n");

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

????{

????????if?(i!=9)

????????{

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

????????}

????????else

????????{

????????????printf("%d\n",score[i]);

????????}

????}

????int?max?=?score[0];

????int?min?=?score[9];

????int?total?=?Total(score);

????float?avg?=?total/10;

????printf("最高分:%d\n最低分:%d\n總分:%d\n平均分:%.2f\n",max,min,total,avg);

????return?0;

}


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

你可以先降序排序之后再求最大最小值

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

舉報

0/150
提交
取消

我這代碼是不是太繁冗了? 80多行。

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

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

幫助反饋 APP下載

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

公眾號

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