请求大神看看:如图,输出结果红框内为什么不是78.6而是78.000和最后为什么输出980了?
#include <stdio.h>
int sum_exam(int arr[])
{
int i,sum;
sum = 0;
for(i=0;i<10;i++)
{
sum = sum + arr[i];
}
return sum;
}
int max_exam(int arr[])
{
int i,max;
int index;
max = arr[0];
for(i=1;i<9;i++)
{
if(max < arr[i])
{
max = arr[i];
index = i;
}
}
return arr[index];
}
int min_exam(int arr[])
{
int i,min,index;
min = arr[0];
for(i=0;i<9;i++)
{
if(min > arr[i])
{
min = arr[i];
index = i;
}
}
return arr[index];
}
double ave_exam(int arr[])
{
int i,sum;
sum = 0;
for(i=0;i<10;i++)
{
sum = sum + arr[i];
}
return sum/10;
}
int sort_exam(int arr[])
{
int i,j,temp;
printf("\n************排序前*************\n");
for(i=0;i<10;i++)
{
if(i != 9)
printf("%d, ", arr[i]);
else
printf("%d", arr[i]);
}
for(i=8;i>=0;i--)
{
for(j=0;j<=i;j++)
{
if(arr[j]>arr[j+1])
{
temp=arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
printf("\n************排序后*************\n");
for(i=0; i<10;i++)
{
if(i != 9)
printf("%d, ",arr[i]);
else
printf("%d",arr[i]);
}
return 0;
}
int main()
{
int score[]={67,98,75,63,82,79,81,91,66,84};
printf("%d\n",sum_exam(score));
printf("%d\n",max_exam(score));
printf("%d\n",min_exam(score));
printf("%f\n",ave_exam(score));
printf("%d\n",sort_exam(score));
return 0;
}
请求大神看看:如图,输出结果红框内为什么不是78.6而是78.000和最后为什么输出980了?