C++简单的查找问题
来源:百度知道 编辑:UC知道 时间:2024/05/16 10:17:54
输入十个数,将最大的和第一个调换,最小和最后的调换,程序出错。帮忙看看吧!要用指针,数组就免了。
#include <iostream>
#include <cstdlib>
#define N 10
using namespace std;
void Input(int *p);
void Array(int *p);
void Output(int *p);
int main(int argc,char *argv[])
{
int num[N];
Input(num);
Array(num);
Output(num);
system("PAUSE");
return EXIT_SUCCESS;
}//end main
void Input(int *p)
{
int i;
for(i=0;i<10;i++)
{
cin>>*(p+i);
}//end for
}//end Input
void Array(int *p)
{
int i,posMax,max,posMin,min,temp;
for(i=0;i<N;i++)
{
if(max<*(p+i))
{
max=*(p+i);
posMax=i;
}//end if
#include <iostream>
#include <cstdlib>
#define N 10
using namespace std;
void Input(int *p);
void Array(int *p);
void Output(int *p);
int main(int argc,char *argv[])
{
int num[N];
Input(num);
Array(num);
Output(num);
system("PAUSE");
return EXIT_SUCCESS;
}//end main
void Input(int *p)
{
int i;
for(i=0;i<10;i++)
{
cin>>*(p+i);
}//end for
}//end Input
void Array(int *p)
{
int i,posMax,max,posMin,min,temp;
for(i=0;i<N;i++)
{
if(max<*(p+i))
{
max=*(p+i);
posMax=i;
}//end if
Array里的max没初始化
这是代码,DC下编译通过
#include <iostream>
#include <cstdlib>
#define N 10
using namespace std;
void Input(int *p);
void Array(int *p);
void Output(int *p);
int main(int argc,char *argv[])
{
int num[N];
Input(num);
Array(num);
Output(num);
system("PAUSE");
return EXIT_SUCCESS;
}//end main
void Input(int *p)
{
int i;
for(i=0;i<10;i++)
{
cin>>*(p+i);
}//end for
}//end Input
void Array(int *p)
{
int i,posMax,max=-1000,posMin,min,temp;
max=*p;
posMax=0;
for(i=1;i<N;i++)
{
if(max<*(p+i))
{
max=*(p+i);
posMax=i;
}//end if
}//end for
min=*p;
posMin=0;
for(i=1;i<10;i++)
{
if(min>*(p+i))
{