求解关于C语言中计算最大值和最小值的问题

那里出错啦... 那里出错啦 展开
 我来答
什么名真难起
推荐于2017-04-19 · TA获得超过606个赞
知道小有建树答主
回答量:804
采纳率:0%
帮助的人:377万
展开全部
不能把计算最大值和最小值写在同一个循环里,类似的错误是初学者经常易错的,以后一定要注意
#include <stdio.h>
void main(void)
{
int score[7] = {23,33,44,55,66,77,88};
int i, max = 0, min = 100;
for(i=0;i<7;i++)
{
if(score[i] > max)
{
max = score[i];

}
}
for(i=0;i<7;i++)
{
if(score[i] < min)
{
min = score[i];

} }
printf("最大值:%d, 最小值:%d", max, min);}
734838124
2012-12-03
知道答主
回答量:48
采纳率:0%
帮助的人:24.5万
展开全部
在第一个小于MAX的值出来之前,所有的值都不会做和MIN的比较,把MAX和MIN的比较分开来就可以了,FOR里面的代码如下
for(i=0;i<7;i++)
{
if(score[i]>max) max=score[i];
if(score[i]<min) min=score[i];
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
笑年1977
2012-12-03 · TA获得超过7.2万个赞
知道大有可为答主
回答量:2.2万
采纳率:81%
帮助的人:1.2亿
展开全部
你不能用 if else if结构
改正如下
if(score[i]>max) max=score[i];
if(score[i]<min) min=score[i];
追问
请问为什么不能用if else if 的结构啊
追答
因为第一个值比较就出现问题了,
如第一次时score[0]=23刚好是最小值,
但max=0
所以第一条件
if(score[i]>max)成立,执行max=score[i],就不去执行else了,所以就造成错误。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
槛外人网上人生
2012-12-03 · TA获得超过6254个赞
知道大有可为答主
回答量:1710
采纳率:0%
帮助的人:555万
展开全部
#include <stdio.h>
void main() {
int score[7] = {23,33,44,55,66,77,78};
int i, max = 0, min = 100;
for(i = 0; i<7; i++) {
if(score[i] > max) {
max = score[i];
}
if (score[i]<min) {
min = score[i];
}
}
printf("最高分为:%d , 最低分为:%d \n", max, min);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f3450b4b3d
2012-12-03 · 超过60用户采纳过TA的回答
知道小有建树答主
回答量:286
采纳率:0%
帮助的人:161万
展开全部
把else去掉就OK
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式