C语言为什么这段程序输出为0.0000?

#include<stdio.h>
double max=0,min=0;
int main()
{
double average(double a[],int j);
double score[10];
int i;
printf("ÇëÊäÈë10¸öѧÉúµÄ³É¼¨£º");
for(i=0;i<10;i++)
scanf("%lf",&score[i]);
printf("ƽ¾ù³É¼¨£º%lf\n×î´óÖµ£º%lf\n×îСֵ£º%lf\n" ,average(score,10),max,min);
return 0;
}
double average(double a[],int j)
{
double sum=a[0],aver;
int n;
max=min=a[0];
for(n=1;n<10;n++)
{
if(a[n]>max)max=a[n];
if(a[n]<min)min=a[n];
sum=sum+a[n];
}
aver=sum/j;
return aver;
}

挺好的,可能输入的格式不对?以下运行的就是原来的程序:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-25
#include<stdio.h>
double max=0,min=0;
int main() {
double average(double a[],int j);
double score[10];
int i;
printf("ÇëÊäÈë10¸öѧÉúµÄ³É¼¨£º");
for(i=0; i<10; i++)
scanf("%lf",&score[i]);
    average(score,10);
printf("ƽ¾ù³É¼¨£º%lf\n×î´óÖµ£º%lf\n×îСֵ£º%lf\n" ,average(score,10),max,min);
return 0;
}
double average(double a[],int j) {
double sum=a[0],aver;
int n;
max=min=a[0];
for(n=1; n<10; n++) {
if(a[n]>max)max=a[n];
if(a[n]<min)min=a[n];
sum=sum+a[n];
}
aver=sum/j;
return aver;
}

printf()从右向左调用返回值

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网