两个程序大意相同 为何输出不同。。
这个是课文的, 最后一段用了我的代码, 输出正常。#include <stdio.h>
float Max=0,Min=0;
int main(void)
{
float average(float array[],int n);
float ave,score[10]={43,53.6,54,32,57,24,64,43,21,23};
ave=average(score,10);
printf("Max=%6.2f\nMin=%6.2f\naverage=%6.2f\n",Max,Min,ave);
return 0;
}
float average(float array[],int n)
{
int i;
float sum=0;
Max=array[0];
Min=array[0];
for(i=0;i<=n-1;i++)
{
sum+=array[i];
array[i]>Max?Max=array[i]:0;
array[i]<Min?Min=array[i]:0;
}
return(sum/n);
}
然后是我的,
#include <stdio.h>
float Max=0,Min=0;
float average(float a[],int n);
int main(void)
{
float a[10];
int i;
for(i=0;i<=9;i++)
{
printf("请为第%d个数赋值:",i+1);
scanf("%f",&a[i]);
}
printf("平均分%3.2f 最高分%3.2f 最低分%3.2f\n",average(a,10),Max,Min);
return 0;
}
float average(float a[],int n)
{
int i;
float sum=0;
Max=a[0];
Min=a[0];
for(i=0;i<=n-1;i++)
{
sum+=a[i];
a[i]>Max?Max=a[i]:0;
a[i]<Min?Min=a[i]:0;
}
return(sum/n);
}
不知道为什么输出Max,Min总是0, 课本上的那个因为输入麻烦,我就直接赋值了。
求解, 我觉得两个应该一样的- - 为什么我的Max,Min输出始终是0...