这道题我错在哪里了?

#include<stdio.h>intfun(int*p,int*pmax,int*pmin){inti;intmax=0;intmin=0;intsum=0;for(... #include<stdio.h>int fun(int *p,int *pmax,int *pmin){ int i; int max=0; int min=0; int sum=0; for (i=0;i<10;i++) { sum+=*(p+i); } for (i=1;i<10;i++) { if (p[i]>p[max]) { max=p[i]; max=i; } } for (i=1;i<10;i++) { if (p[i]<p[min]) { min=p[i]; min=i; } } return sum;}int main(){ int a[10]={3,8,1,5,2,9,6,10,7,4}; int sum,max,min,i; printf("原始数组是:\n"); for (i=0;i<10;i++) { printf("%-3d",a[i]); } sum=fun(a,&max,&min); printf("\n\nsum=%d,max=%d,min=%d\n",sum,max,min); return 0;}题目是:在主函数中定义一个大小为10的整型数组,并对数组元素进行初始化,定义一个fun( )函数,其功能是求数组中10个数的总和、最大值、最小值。程序运行效果如图所示: 展开
 我来答
百度网友09df2b4
2018-12-20 · TA获得超过239个赞
知道小有建树答主
回答量:181
采纳率:75%
帮助的人:81.3万
展开全部
因为你根本max和min根本没有赋值啊
max=p[i]; 改成 *pmax=p[i];
min=p[i]; 改成 *pmin=p[i];
这样就可以了
高三的帅锅
2019-11-11
知道答主
回答量:1
采纳率:0%
帮助的人:683
展开全部
int fun(int *p, int *pmax, int *pmin)
{
int sum=0;
*pmax = p[0];
*pmin = p[0];
for(int i = 0; i < 10 ; i++)
{
if(*pmax < p[i])
{
*pmax = p[i];
}
if(*pmin > p[i])
{
*pmin = p[i];
}
sum+=p[i];
}
return sum;
}

int main()
{
int a[10]={3,8,1,5,2,9,6,10,7,4}, sum, max, min,i;
printf("原始数组为:");
for(i = 0; i < 10;i++)
{
printf("%-3d",a[i]);
}
sum = fun(a,&max,&min);
printf("\nsum = %d , max = %d , min = %d", sum, max, min);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式