输入10个数,找出最大数,放在第一,原来第一的在第二````依次类推。
怎么我的只是覆盖了第一个
并且最大数还存在上次位置,指到我晕了。
#include<iostream>
using namespace std;
int main()
{
const int max=10;
int a[max];
int *p=a;
int i,j,k,t;
cout<<"Enter the array number:";
for(i=0;i<max;i++)
{
cin>>a[i];
}
for(i=0;i<max;i++){
for(j=0;j<max;j++)
k=j+1;
if(*(p+j)<*p+k)
*(p+j)=*(p+k);//这里为什么不是每次上一数覆盖下一个数?
*p=*(p+j);
}
for(i=0;i<max;i++)
cout<<a[i]<<' ';
cout<<endl;
return 0;
}
[此贴子已经被作者于2007-7-27 2:30:33编辑过]