永发信息网

提示输入5个学生的成绩(保证分数在0~100之间),算出平均分、最高分、最低分,然后输出,请问我这哪里错了

答案:3  悬赏:30  手机版
解决时间 2021-11-26 06:40
提示输入5个学生的成绩(保证分数在0~100之间),算出平均分、最高分、最低分,然后输出,请问我这哪里错了
最佳答案
if(*p > *max) max=p;
if(*p < *min) max=p;
不明白你这个想做什么?这样的话实际的max的值并没有改变。而且为什么两个都是max
sum/5;中,sum是int类型,会精度丢失追问精度没关系。
if(*p > *max) max=p; // 如果*p值大于最大值,则将max指向p的地址
if(*p < *min) max=p; // 如果*p值小于最小值,则将min指向p的地址追答问题max指针是函数作用域,他在函数结束时候将被清除。追问不会啊,我在主函数中将max和min已经传进这个分函数了,不可能会被清空的追答不同的,这样,当你调用函数avage=jisuan(a,&max,&min);的时候,计算机会创建
一个临时指针叫做max(根据你的函数声明int jisuan(int *p,int *max,int *min);),然后,这个max指针存储接收到的地址,就是你传入的&max.那么很简单一个道理,当你执行max=p时发生了什么?max指针丢掉了传进来的&max,存储了p指针里的地址。然后函数调用完之后,这个创建的临时max指针被操作系统收回。实际上,你函数里做的一切都在这时化为乌有
全部回答
#include
//int jisuan(int *p,int *max,int *min);
int jisuan(int score[], int student_num, int *max, int *min);
int main()
{
int a[5],avage=0,max=0,min=0;
int i;
for(i=0;i<5;i++)
{
printf("input %d score:",i+1);
scanf("%d",&a[i]);
if(0>a[i] || a[i]>100 )
{
printf("error");
scanf("%d",&a[i]);
}
}
avage=jisuan(a, sizeof(a)/sizeof(int),&max,&min);
printf("avage=%d,max=%d,min=%d\n",avage,max,min);
}

int jisuan(int score[], int student_num, int *max, int *min)
{
int i = 0, sum = 0;

*max = score[0];
*min = score[0];

for (; i {
sum += score[i];
if (*max < score[i]) *max = score[i];
if (*min > score[i]) *min = score[i];
}

return sum/5;
}
#include
int jisuan(int *p,int *max,int *min);
int main()
{int i=0;
int a[6] = {0},avage=0,max=0,min=100;//你定义的应该是a[6]并赋初值0,因为你这是数组,不是字符串,后面不会跟‘\0’

for(i=0;i<5;i++)
{
printf("input %d score:",i+1);
scanf("%d",&a[i]);
if(0>a[i] || a[i]>100 )
{
printf("error");
scanf("%d",&a[i]);
}
}
avage=jisuan(a,&max,&min);
printf("avage=%d,max=%d,min=%d\n",avage,max,min);
}
int jisuan(int *p,int *max,int *min)
{
int sum=0;
int i = 0;
for(;*p!='\0';p++)
{
sum+=*p;
if(*p > *max) *max=*p;
if(*p < *min) *min=*p;
}
return sum/5;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
做unity还是去用layabox做as3
剪悦坊理发店地址在什么地方,想过去办事,
日语歌词里面最后一句话是 会有终结
人死后土葬挖墓穴都有啥禁忌
文艺广告装修工程地址在什么地方,想过去办事
烟台LGD入厂问题!忘朋友解答!谢谢!!!
期末学渣如何逆袭?
一个我喜欢的女孩,晚上叫我去KTV玩(我刚看
英雄联盟蔚应该怎样出装狠一些?暴力且抗揍的
大家知道伊川在哪吗? 对于地域黑我也是醉了
一个人自己张大嘴说三个不说,猜成语
潮汐海灵菲兹爆发很高,但是却是个近战(包括
950度和1000度超薄镜片哪个更薄
些刀山我想知道这个在什么地方
中国有多少个国家卫生城市
推荐资讯
开始美元对人民币汇率是1美元=6.67人民币,后
我是学校的会计,开始固定资产是预转固
看图写话图中小女孩脚伤住院
在excel中怎么把2011.10变成2011年10月
三岁多不到四岁,读小班是不是很正常啊?
法律位阶?
盆栽迎客松施什么肥
国有企业子公司的股东决定应该由母公司的哪个
宁波市路林综合市场有限公司停车场地址在哪,
落地请开手机主演
为什么vb 中“7\2.5=3而7\3=2”不是
CAT 5E的网线就可以支持万兆,CAT6或CAT7有什
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?