c语言数组与指针

来源:百度知道 编辑:UC知道 时间:2024/06/16 23:43:37
呃。。我可能学习不太好。。
高手帮我看看这个有哪些问题。。
要求的是七个评委打分,要去掉一个最高分一个最低分,在子函数中算出平均然后在主函数中输出,要求用指针和数组知识解决。。
#include "stdio.h"
void main()
{
float a[7];
float aver;

void pingjun(float *p,float *a);
int i;
for(i=0,i<7,i++)
scanf("%f",&a[i]);
pingjun(&a[0],&aver);
printf("%f",aver);

void pingjun(float *p,float *a)
{
float max,min,sum=0.0;
int j,i;
max=p[0];
min=p[0];
for (i=1,i<7,i++)
{
*(p+i);
if(p[i]>max)
max=p[i];
if(p[i]<min)
min=p[i];
sum=sum+p[i];
}
sum=sum-max-min;
*a=sum/5.0;
}

int pingjun(int *a)
{
int max=a[0],min=a[0],i,sum=0;
for(i = 0; i < 7; i++)
{
max = max < a[i]?max:a[i];
min = min > a[i]?min:a[i];
sum += a[i];
}
return (sum-max-min)/5;
}

main()
{
int a[7] = {1,4,6,4,7,4,4};

printf("%d",pingjun(a));
getch();
}
稍微改了下,你参考下。

思路问题.朋友.思路不对.很难弄对的.抑或就是要走很多路.呵呵.

话说是用指针和数组,你也不能全部都是啊!有的地方用会更复杂.

#include "stdio.h"
void main()
{
float a[7];
float aver;

void pingjun(float *p,float *a);
int i;
for(i=0;i<7;i++)//此处是分号,不是逗号
scanf("%f",&a[i]);
pingjun(&a[0],&aver);
printf("%f",aver);
}//少一大括号

void pingjun(float *p,float *a)
{
double max,min,sum=0;
int i;
max=p[0];
min=p[0];
for(i=0;i<7;i++)//i要从零开始循环
{
//*(p+i