(1)用冒泡法实现数组从小到大排序,输出结果。
#include<iostream>
using namespace std;
int main()
{
int a[11],i,j,t;
cout<<"请输入10个数:"<<endl;
for(i=1;i<=10;i++)
cin>>a[i];
for(j=1;j<=9;j++)
for(i=1;i<=10-j;i++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
cout<<"按从小到大输出:";
for(i=1;i<=10;i++)
cout<<a[i]<<' ';
cout<<endl;
return 0;
}
(2)用冒泡法实现数组从大到小排序,输出结果。
#include<iostream>
using namespace std;
int main()
{
int a[11],i,j,t;
cout<<"请输入10个数:"<<endl;
for(i=1;i<=10;i++)
cin>>a[i];
for(j=1;j<=9;j++)
for(i=1;i<=10-j;i++)
if(a[i]<a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
cout<<"按从大到小输出:";
for(i=1;i<=10;i++)
cout<<a[i]<<' ';
cout<<endl;
return 0;
}
(3)输出一个一维数组中的最大值、最小值、全部元素的和,并将此数组中的值按逆序重新存放。例如原先a[0]~a[4]存放2 8 7 5 3,逆序存放后 a[0]~a[4]变为存放3 5 7 8 2
#include<iostream>
using namespace std;
int main()
{
int a[6],i,n,m,s,c;
s=0;
cout<<"请输入五个数:";
for(i=1;i<6;i++)
cin>>a[i];
for(i=1;i<6;i++)
if(a[i]<a[i+1])
m=a[i];
for(i=1;i<6;i++)
if(a[i]>a[i+1])
n=a[i];
for(i=1;i<6;i++)
s=s+a[i];
cout<<"最大值为:"<<n<<endl;
cout<<"最小值为:"<<m<<endl;
cout<<"总和为:"<<s<<endl;
for(i=1;i<4;i++)
{
c=a[i];
a[i]=a[6-i];
a[6-i]=c;
}
cout<<"逆序为:";
for(i=1;i<6;i++)
cout<<a[i];
cout<<endl;
return 0;
}
改正
#include<iostream>
using namespace std;
int main()
{
int a[6],i,s,c,max,min;
s=0;
cout<<"请输入五个数:";
for(i=1;i<6;i++)
cin>>a[i];
max=0;
for(i=1;i<6;i++)
if(a[i]>max)
max=a[i];
min=max;
for(i=1;i<6;i++)
if(a[i]<min)
min=a[i];
for(i=1;i<6;i++)
s=s+a[i];
cout<<"最大值为:"<<max<<endl;
cout<<"最小值为:"<<min<<endl;
cout<<"总和为:"<<s<<endl;
for(i=1;i<4;i++)
{
c=a[i];
a[i]=a[6-i];
a[6-i]=c;
}
cout<<"逆序为:";
for(i=1;i<6;i++)
cout<<a[i]<<' ';
cout<<endl;
return 0;