帮小弟查下这函数错在哪?求数组中最小元素

来源:百度知道 编辑:UC知道 时间:2024/05/15 10:05:20
#include<iostream>
using namespace std;
const int size=10;
int main()
{int i;
int ArrayMin(int d[size],int size);
int d[20];
for(i=0;i<size;i++)
cin>>d[i];
ArrayMin(d,size);
return 0;
}
int ArrayMin(int d[],int size)
{
int i,t;
for(i=0;i<size;i++)
{if(d[i]>d[i+1])
t=d[i];d[i]=d[i+1];d[i+1]=t;}
cout<<t;
cout<<endl;
return t;
}

ArrayMin(d,size); 错了
你的ArrayMin定义了int的返回值得,调用的时候必须用一个整形变量等于它的形式。
比如说前面定义了int temp;
下面调用函数的时候必须是temp=ArrayMin(d,size);
函数里面的t最好给各初始值t=d[0];

如果你想直接在函数里面输出结果,就要把函数改成void 型的

void ArrayMin(int d[],int size)
{
int i,t;
t=d[0];
for(i=0;i<size;i++)
{if(d[i]>d[i+1])
t=d[i];d[i]=d[i+1];d[i+1]=t;}
cout<<t;
cout<<endl;
}
前面申明函数时也要改
void ArrayMin(int d[size],int size);