问答详情
源自:6-12 综合练习

平均分为什么不出小数?

代码如下。

===============

#include <stdio.h>

#define N 10


void printScore(int arr[])

{

    int i;

    printf("\n");

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

    {

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

    }

    printf("\n");

}


double getSum(int arr1[])

{

    int i;

    double sum;

    sum=0;

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

    {

        sum+=arr1[i];

    }

    return sum;

}


void getOrder(int arr2[])

{

    int i,j,temp;

    for(i=N-2;i>=0;i--)

    {

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

        {

            if(arr2[j+1]>arr2[j])

            {

                temp=arr2[j];

                arr2[j]=arr2[j+1];

                arr2[j+1]=temp;

            }

        }

    }

    printScore(arr2);

}


int getMax(int arr2[])

{

       int max=-1;

       int i;

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

    {

        if(arr2[i]>max)

        {

            max=arr2[i];

        }

    }

    return max;

}


int getMin(int arr2[])

{

        int i;

        int min=100;

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

    {

        if(arr2[i]<min)

        {

            min=arr2[i];

        }

    }

    return min;

}


double getAverage(int arr2[])

{

    return getSum(arr2)/N;

}


int main()

{

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

    int sum,max,min;

    double average;

    

    sum = getSum(score);

    max = getMax(score);

    min = getMin(score);

    average = getAverage(score);

    printf("计算考试的总分为%d \n",sum);

    printf("计算考试的最高分为%d \n",max);

    printf("计算考试的最低分为%d \n",min);

    printf("计算考试的平均分为%.lf \n",average);

    printf("=======计算考试成绩降序排序如下=======\n");

    getOrder(score);

    return 0;

}


提问者:铸剑师 2016-02-28 17:11

个回答

  • 王某生
    2016-02-28 18:15:12
    已采纳

    printf("计算考试的平均分为%.lf \n",average);

    这里你可能不小心写成了字母l,应该是数字1。