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

救救我吧= =

#include <stdio.h>


int totalScore(int score[], int N)

{

int i;

int sum = 0;

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

{

sum += score[i];

}

return sum;

}


int maxScore(int score[], int N)

{

int j;

int max = score[0];

for (j = 0; j < N - 1; j++)

{

if (score[j + 1] > max)

max = score[j + 1];

}

return max;

}


int minScore(int score[], int N)

{

int k;

int min = score[0];

for (k = 0; k < N - 1; k++)

{

if (score[k + 1] < min)

min = score[k + 1];

}

return min;

}


int averageScore(int score[], int N)

{

int Sum = *totalScore;

int average = Sum / N;

return average;

}


int descendingScore(int score[], int N)

{

int m, temp;

for (m = 0; m < N - 1; m++)

{

if (score[m + 1] < score[m])

{

temp = score[m];

score[m] = score[m + 1];

score[m + 1] = temp;

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

}

else

{

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

}

}


return 0;

}


int main()

{

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

totalScore(score, 10);

maxScore(score, 10);

minScore(score, 10);

averageScore(score, 10);

descendingScore(score, 10);

getchar();

return 0;

}


正在回答

1 回答

写的代码过于散;

不需要定义太多函数,定义一个函数就够了,

在定义的内部函数里面求出最大值,最小值,降序与,

定义整个数组作为参数处理(在数组第二章以写有),

在定义的函数里面我们定义整型的最大值、最小值、均值、sum的变量名,

先考虑遍历降序排序,然后我们可以求出最大值在第一位,最小值在最后一位,

而总值可以用for循环遍历加到之前定义的sum变量名里面,

而均值我们可以用总值/10,都可以在定义的内部函数里输出,在主函数中我们只调用一维数组到自定义的函数里,自定义函数中直接输出就好

总结:写代码前先考虑好,代码的可读性,灵活性,可修改性

代码如下:

#include <stdio.h>

int L(int s[]) //处理整个数组

{

    int max=0;

    int min=0;

    int sum=0;

    int v=0;

    int i,j,t;

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

    {

        t=1;   //此不做赘述

        for(j=0;j<10-1-i;j++)

        {

            if(s[j]<s[j+1])  //降序 < 从大到小

            {

                s[j]+=s[j+1];

                s[j+1]=s[j]-s[j+1];  //比较调换位置

                s[j]-=s[j+1];

                t=0;  //此不做赘述

            }

        }

        if(t)break;//此不做赘述

    }

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

    {

        sum+=s[i];   //循环求出总值

    }

    printf("sum=%d\n",sum);

    max=s[0];

    min=s[9];

    v=sum/10;

    printf("max=%d\n",max);

    printf("min=%d\n",min);

    printf("v=%d\n",v);

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

    {

        printf("%d ",s[i]);

    }

}

int main()

{

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

    L(score);   //调用函数

    return 0;

}

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

举报

0/150
提交
取消
C语言入门
  • 参与学习       926020    人
  • 解答问题       20793    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

救救我吧= =

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