平均分為什么不出小數(shù)?
代碼如下。
===============
#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("計(jì)算考試的總分為%d \n",sum);
? ? printf("計(jì)算考試的最高分為%d \n",max);
? ? printf("計(jì)算考試的最低分為%d \n",min);
? ? printf("計(jì)算考試的平均分為%.lf \n",average);
? ? printf("=======計(jì)算考試成績(jī)降序排序如下=======\n");
? ? getOrder(score);
? ? return 0;
}
2016-02-28
這里你可能不小心寫(xiě)成了字母l,應(yīng)該是數(shù)字1。