C语言我想求一个数组里最大值和最小值之差,但是这个程序求出来的结果是最大值和第二小值之差,急在线等

#include<iostream>usingnamespacestd;intmaxmin(inta[],intn){ints,i;for(i=1;i<10;i++){i... #include<iostream>
using namespace std;
int maxmin(int a[],int n)
{int s,i;
for(i=1;i<10;i++)
{if(a[i]>a[0])a[0]=a[i];}
for(i=8;i>=0;--i)
{
if(a[i]<a[9])a[9]=a[i];}
s=a[0]-a[9];
return s;
}

int main()
{
int a[10],i,y;
for(i=0;i<10;i++)
cin>>a[i];
y=maxmin(a,10);
cout<<y<<endl;
}
展开
 我来答
晨曦露下
2020-04-04 · 超过44用户采纳过TA的回答
知道小有建树答主
回答量:196
采纳率:70%
帮助的人:33.3万
展开全部
你有没有发现你这样一个个去比,如果a[0]不是最大值,a[0]的初始值已经丢失了,所以之后再比较的时候已经无法和原来的初始a[0]相比较了
更多追问追答
追答
如果我没猜错的话,你的输入里a0是最小值
追问
是这样的,
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式