#include <iostream>
using namespace std;
int main()
{
int arr[8];
for (int i=0;i<8;++i)
{
cin>>arr[i];
}
for(int i=0;i<8;++i)
{
for(int j=0;j<8-i;++j)
{
if(arr[j]>arr[j+1])
{
int tmp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=tmp;
}
}
}
for(int i=0;i<8;++i)
cout<<arr[i]<<endl;
return 0;
}
追问能不能输出的在一行上,不要一行一个,实在不行也没关系,最好一行输入一行输出
追答#include <iostream>
using namespace std;
int main()
{
int arr[8];
cin>>arr[7]>>arr[6]>>arr[5]>>arr[4]>>arr[3]>>arr[2]>>arr[1]>>arr[0];
for(int i=0;i<8;++i)
{
for(int j=0;j<8-i;++j)
{
if(arr[j]>arr[j+1])
{
int tmp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=tmp;
}
}
}
for(int i=0;i<8;++i)
cout<<arr[i]<<" ";
cout<<endl;
return 0;
}
追问谢谢。再问你一题:
C++:将a数组中最后一个元素移到数组最前面,其余数据一次往后平移一个位置。
追答#include <iostream>
using namespace std;
void movelast(int* argarr,int length)
{
int tmp=argarr[length-1];
for(int i=length-2;i>=0;--i)
{
argarr[i+1]=argarr[i];
}
argarr[0]=tmp;
}
int main()
{
int arr[8];
cin>>arr[0]>>arr[1]>>arr[2]>>arr[3]>>arr[4]>>arr[5]>>arr[6]>>arr[7];
movelast(arr,8);
for(int i=0;i<8;++i)
cout<<arr[i]<<" ";
cout<<endl;
return 0;
}本回答被提问者采纳