#include<stdio.h>
int fun(int a[],int n,int *max)
{
int average=0;
int sum,i;
for(i=0;i<=n;i++)
{
if(a[i]<*max)
*max=a[i];
sum+=a[i];
}
average=sum/(n+1);
return average;
}
void main()
{
int a[80],n=9,c,i;
printf("请输入十个数值");
for(i=0;i<=9;i++)
{
scanf("%d",&a[i]);
}
printf("最大值为%d,平均值为%d",c,fun(a[80],n,&c));
}
结果出现乱码是为什么啊
函数里sum和*max都没有赋予初始值
#include<stdio.h>
int fun(int a[],int n,int *max)
{
int average=0;
int sum=0,i;
for(i=0;i<n;i++)
{
if(i==0 || *max < a[i])
*max = a[i];
sum+=a[i];
}
average=sum/n;
return average;
}
void main()
{
int a[80],avg=0,i,max;
printf("请输入十个数值");
for(i=0;i<=9;i++)
{
scanf("%d",&a[i]);
}
avg = fun(a,10,&max);
printf("最大值为%d,平均值为%d",max,avg);
return 0;
}