请帮忙查一下错误

来源:百度知道 编辑:UC知道 时间:2024/06/09 15:45:46
#include<iostream>
using namespace std;
void arr(int*p,int n)
{int tem;
for(int i=n;i>0;i--)
for(int j=0;j<n;j++)
{if(*(p+j)<*(p+j+1))
tem=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=tem;
}

}
void main()
{int a[3];
int *p=a;
cout<<"请输入3个数:"<<endl;
for(int i=0;i<3;i++)
cin>>a[i];
arr(a,3);
for(int k=0;k<3;k++,p++)
cout<<*p<<endl;
}

#include<iostream>
using namespace std;
void arr(int*p,int n)
{int tem;
for(int i=n-1;i>0;i--) //i=n-1
for(int j=0;j<i;j++) //这个地方要改成j<i
{if(*(p+j)<*(p+j+1))
{//这地方增加一对括号
tem=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=tem;
}
}
}
void main()
{int a[3];
int *p=a;
cout<<"请输入3个数:"<<endl;
for(int i=0;i<3;i++)
cin>>a[i];
arr(a,3);
for(int k=0;k<3;k++,p++)
cout<<*p<<endl;
}

既然楼上的都改了,我就不多说了。。。