请C语言高手来看看小弟的简单程序怎么错这么多啊!求助!!!

2025-05-20 01:07:28
推荐回答(3个)
回答1:

你的程序编译不会报错,但是计算出来的最大值和最小值不对,我给你改过了,你看看吧。
#include
void abc(float x[],int y,float *sum,float *avg,float *max,float *min)
{
float *p;
int i;
*max=x[0];
*min=x[0];
p=x;
for(i=0;i {
*sum=*sum+x[i];
if(*(p+i)>*max)
*max=*(p+i);
if(*(p+i)<*min)
*min=*(p+i);
}
*avg=*sum/y;
}

void main()
{
float num[80],he=0,pingjun,zuida,zuixiao;
int i,j;
printf("请输入你要输入数字的个数:\n");
scanf("%d",&j);
printf("请输入%d个数字:\n",j);
for(i=0;i abc(num,j,&he,&pingjun,&zuida,&zuixiao);
printf("它们的和是:%.2f\n它们的平均值是:%.2f\n它们的最大值是:%.2f\n它们的最小值是:%.2f\n",he,pingjun,zuida,zuixiao);
}

回答2:

#include
void abc(float x[],int y,float *sum,float *avg,float *max,float *min){
float *p;
int i;
*max=x[0];
*min=x[0];
p=x;

for(i=0;i *sum=*sum+x[i];
if(*(p+i)>*max) *max=*p;
if(*(p+i)<*min) *min=*p;
}
*avg=*sum/y;
}

void main(){
float num[80],he=0,pingjun,zuida,zuixiao;
int i,j;
printf("请输入你要输入数字的个数:\n");
scanf("%d",&j);
printf("请输入%d个数字:\n",j);
for(i=0;i abc(num,j,&he,&pingjun,&zuida,&zuixiao);
printf("它们的和是:%.2f\n它们的平均值是:%.2f\n它们的最大值是:%.2f\n它们的最小值是:%.2f\n",he,pingjun,zuida,zuixiao);
}

这样 以后注意点符号的输入。

回答3:

\n前面加个空格。
还有就是,是不是你的不支持中文,打英文试试看