一个C语言题

#include<stdio.h>voidmain(void){inta[10];floatprocess(int*);voidinputdata(int*);input... #include<stdio.h>
void main(void)
{
int a[10];
float process(int *);
void inputdata(int *);

inputdata(a);
printf("Score:%f\n",process(a));
}

float process(int *p)
{
int i,maxindex,minindex;
float aver=0;

maxindex=minindex=0;
for(i=1;i<10;i++)
{
if(*(p+maxindex)<*(p+i))
maxindex=i;
if([ ])
minindex=i;
}
*(p+maxindex)=0,*(p+minindex)=0;

for(i=0;i<10;i++)
aver=aver+*(p+i);

return *(p+minindex)>[ ];
}

void inputdata(int *k)
{
int i;
for(i=0;i<10;i++)
scanf("%d",k+i);
}

程序填空题:
tk505.c中有整形数组a[ ]。通过调用函数inputdata(),给a[ ]数组元素输入数据;通过调用函数process(),
实现去掉数组中一个最大数值和一个最小数值的元素,返回其余元素的平均值。
请在括号[ ]处补充完整程序,并删除[ ],运行测试,实现上述要求。不得增加行或删除行,也不得更改程序结构。
展开
 我来答
百度网友dd4aeed61
2007-05-28 · 超过10用户采纳过TA的回答
知道答主
回答量:26
采纳率:0%
帮助的人:0
展开全部
第一个[]:*(p+minindex)>*(p+i)
第二个[],你确定题目第二[]前(return 后面)有“*(p+minindex)>[ ]”这个东西么,如果有>的话[]里填什么都会返回bool值。
如果没有的话,return 后面应该填:aver/8

程序应该为
#include<stdio.h>
void main(void)
{
int a[10];
float process(int *);
void inputdata(int *);

inputdata(a);
printf("Score:%f\n",process(a));
}

float process(int *p)
{
int i,maxindex,minindex;
float aver=0;

maxindex=minindex=0;
for(i=1;i<10;i++)
{
if(*(p+maxindex)<*(p+i))
maxindex=i;
if(*(p+minindex)>*(p+i))
minindex=i;
}
*(p+maxindex)=0,*(p+minindex)=0;

for(i=0;i<10;i++)
aver=aver+*(p+i);

return (aver/8);
}

void inputdata(int *k)
{
int i;
for(i=0;i<10;i++)
scanf("%d",k+i);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式