请用C++编写 输入10个整数,按升序排列后输出

 我来答
风若远去何人留
2015-12-21 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450133
专业C/C++软件开发

向TA提问 私信TA
展开全部

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;
}
564519
2008-10-27 · TA获得超过125个赞
知道答主
回答量:182
采纳率:0%
帮助的人:61.4万
展开全部
/*首先输入十个数,把十个数存在数组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;

}

我想你不会不满意的,呵呵
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ec773f4cde
2008-10-14 · 超过13用户采纳过TA的回答
知道答主
回答量:92
采纳率:0%
帮助的人:39万
展开全部
#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";

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fuchuangbob
2008-10-14 · TA获得超过898个赞
知道小有建树答主
回答量:879
采纳率:0%
帮助的人:735万
展开全部
/*快速排序*/
#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改成宏,效率会更高
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
后贤农涵涵
2020-08-31 · TA获得超过1068个赞
知道小有建树答主
回答量:1774
采纳率:91%
帮助的人:8.9万
展开全部
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;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式