为了账号安全,请及时绑定邮箱和手机立即绑定

Sort 里面的printf 的部分 如果不像答案那样 多定义一个打印分数的函数 可以怎么简化啊??

#include <stdio.h>

int Sumscore(int score[])

{

    int i;

    int sum=0;

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

    {

        sum+=score[i];

    }

    return sum;

}

int Maxscore(int score[])

{

    int i;

    int max=-1;

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

    {

        if(score[i]>max)

        max=score[i];

    }

    return max;

}

int Minscore(int score[])

{

    int i;

    int min=100;

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

    {

        if(score[i]<min)

        min=score[i];

    }  

    return min;

}

int Averlscore(int score[])

{

    int i;

    int averl;

    int sum=0;

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

    {

        sum+=score[i];

    }

    averl=sum/10;

    return averl;

}

void Sort(int score[])

{

    int i, j ;

    for(i=8;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;

            }

        }

    }

    printf("第一名 %d分\n",score[0]);

    printf("第二名 %d分\n",score[1]);

    printf("第三名 %d分\n",score[2]);

    printf("第四名 %d分\n",score[3]);

    printf("第五名 %d分\n",score[4]);

    printf("第六名 %d分\n",score[5]);

    printf("第七名 %d分\n",score[6]);

    printf("第八名 %d分\n",score[7]);

    printf("第九名 %d分\n",score[8]);

    printf("第十名 %d分\n",score[9]);

}

int main()

{

    int i,sum,max,min,averl;

    int score[10]={1,98,56,63,82,79,81,99,66,84};

    sum=Sumscore(score);

    max=Maxscore(score);

    min=Minscore(score);

    averl=Averlscore(score);

    printf("本次成绩总分为:%d分\n",sum);

    printf("本次最高成绩为:%d分\n",max);

    printf("本次最低成绩为:%d分\n",min);

    printf("本次平均成绩为:%d分\n",averl);

    printf("       本 次 考 试 的 排 名 为    \n");

    printf("**************************************\n");

    Sort(score);

    return 0;

}


正在回答

3 回答

手动表示把刚才删除了

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

编译环境不支持汉字

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

定义一个数组存放一二三四...十,比如这个数组叫做k,然后输出的时候按照
    printf("第九名 %d分\n",k[i],score[i]);
这种形式输出,不过一个汉字的长度是一个字母的两倍,建议用二维字符数组存放汉字,k[][]
    printf("第%s名 %d分\n",k[i],score[i]);

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

举报

0/150
提交
取消

Sort 里面的printf 的部分 如果不像答案那样 多定义一个打印分数的函数 可以怎么简化啊??

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信