请用C++编写 输入10个整数,按升序排列后输出
10个回答
展开全部
1 先将10个数值输入到数组中;
2 对数组进行排序;
3 输出排序后数组。
参考代码如下:
#include <stdio.h>
int main()
{
int a[10],i,j,t;
for(i = 0; i < 10;++i)
scanf("%d",a+i);//输入10个数。
for(i = 0; i < 9;++i)
for(j = i+1; j < 10;++j)
{
if(a[i]>a[j])
{
t = a[i];
a[i]=a[j];
a[j]=t;
}
}//排序。
for(i = 0; i < 10;++i)
printf("%d,",a[i]);//输出结果。
return 0;
}
展开全部
/*首先输入十个数,把十个数存在数组a[10]中,对数组冒泡排序就行了,程序如下,希望你能满意。*/
#include<iostream.h>
#include<iomanip.h>
void main()
{
int a[10];
int i,j,t;
cout<<"请输入十个数"<<endl;
for(i =0 ;i< 10;i++)
{
cin>>a[i];
}
for(i = 0;i < 10;i++)
for(j = i+1;j < 10;j++)
if(a[i]>a[j])
{
t = a[i];
a[i]=a[j];
a[j]=t;
}
for(i =0 ;i< 10;i++)
{
cout<<setw(5)<<a[i];
}
cout<<endl;
}
我想你不会不满意的,呵呵
#include<iostream.h>
#include<iomanip.h>
void main()
{
int a[10];
int i,j,t;
cout<<"请输入十个数"<<endl;
for(i =0 ;i< 10;i++)
{
cin>>a[i];
}
for(i = 0;i < 10;i++)
for(j = i+1;j < 10;j++)
if(a[i]>a[j])
{
t = a[i];
a[i]=a[j];
a[j]=t;
}
for(i =0 ;i< 10;i++)
{
cout<<setw(5)<<a[i];
}
cout<<endl;
}
我想你不会不满意的,呵呵
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
void main()
{
int a[10];
int i=0;
int j=0;
for(i;i<10;i++)
cin>>a[i];
for(int h=0;h<9;h++)
{
if(a[h]>a[h+1])
{
j=a[h];
a[h]=a[h+1];
a[h+1]=a[h];
}
}
for(int n=0;n<10;n++)
cout<<a[n]<<"\t";
}
void main()
{
int a[10];
int i=0;
int j=0;
for(i;i<10;i++)
cin>>a[i];
for(int h=0;h<9;h++)
{
if(a[h]>a[h+1])
{
j=a[h];
a[h]=a[h+1];
a[h+1]=a[h];
}
}
for(int n=0;n<10;n++)
cout<<a[n]<<"\t";
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/*快速排序*/
#include<iostream>
typedef int keytype;
int findpivot(keytype *,int,int);
int partition(keytype *,int,int,keytype);
void quicksort(keytype *,int,int);
inline void swap(keytype & a,keytype & b)
{
keytype tmp;
tmp=a;
a=b;
b=tmp;
}
int main()
{
using namespace std;
keytype a[10]={0};
for(int i=0;i<10;++i)
cin>>a[i];
quicksort(a,0,9);
for(int i=0;i<10;++i)
cout<<a[i];
return 0;
}
int findpivot(keytype *a,int low,int up)
{
int k;
keytype firstkey=a[low];
for(k=low+1;k<=up;++k)
{
if(a[k]>firstkey)
return k;
else if(a[k]<firstkey)
return low;
}
return -1;
}
int partition(keytype *a,int low,int up,keytype key)
{
int l=low,r=up;
do
{
swap(a[l],a[r]);
while(a[l]<key)
++l;
while(a[r]>=key)
--r;
}while(l<=r);
return l;
}
void quicksort(keytype * a,int low,int up)
{
keytype pivot=0;
int pivotindex;
int k;
pivotindex=findpivot(a,low,up);
if(pivotindex!=-1)
{
pivot=a[pivotindex];
k=partition(a,low,up,pivot);
quicksort(a,low,k-1);
quicksort(a,k,up);
}
}
可以把swap改成宏,效率会更高
#include<iostream>
typedef int keytype;
int findpivot(keytype *,int,int);
int partition(keytype *,int,int,keytype);
void quicksort(keytype *,int,int);
inline void swap(keytype & a,keytype & b)
{
keytype tmp;
tmp=a;
a=b;
b=tmp;
}
int main()
{
using namespace std;
keytype a[10]={0};
for(int i=0;i<10;++i)
cin>>a[i];
quicksort(a,0,9);
for(int i=0;i<10;++i)
cout<<a[i];
return 0;
}
int findpivot(keytype *a,int low,int up)
{
int k;
keytype firstkey=a[low];
for(k=low+1;k<=up;++k)
{
if(a[k]>firstkey)
return k;
else if(a[k]<firstkey)
return low;
}
return -1;
}
int partition(keytype *a,int low,int up,keytype key)
{
int l=low,r=up;
do
{
swap(a[l],a[r]);
while(a[l]<key)
++l;
while(a[r]>=key)
--r;
}while(l<=r);
return l;
}
void quicksort(keytype * a,int low,int up)
{
keytype pivot=0;
int pivotindex;
int k;
pivotindex=findpivot(a,low,up);
if(pivotindex!=-1)
{
pivot=a[pivotindex];
k=partition(a,low,up,pivot);
quicksort(a,low,k-1);
quicksort(a,k,up);
}
}
可以把swap改成宏,效率会更高
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1
先将10个数值输入到数组中;
2
对数组进行排序;
3
输出排序后数组。
参考代码如下:
#include <stdio.h>
int main()
{
int a[10],i,j,t;
for(i = 0; i < 10;++i)
scanf("%d",a+i);//输入10个数。
for(i = 0; i < 9;++i)
for(j = i+1; j < 10;++j)
{
if(a[i]>a[j])
{
t = a[i];
a[i]=a[j];
a[j]=t;
}
}//排序。
for(i = 0; i < 10;++i)
printf("%d,",a[i]);//输出结果。
return 0;
}
先将10个数值输入到数组中;
2
对数组进行排序;
3
输出排序后数组。
参考代码如下:
#include <stdio.h>
int main()
{
int a[10],i,j,t;
for(i = 0; i < 10;++i)
scanf("%d",a+i);//输入10个数。
for(i = 0; i < 9;++i)
for(j = i+1; j < 10;++j)
{
if(a[i]>a[j])
{
t = a[i];
a[i]=a[j];
a[j]=t;
}
}//排序。
for(i = 0; i < 10;++i)
printf("%d,",a[i]);//输出结果。
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询