用选择法对十个整数排序 十个整数用cin输入

 我来答
司马刀剑
高粉答主

2019-10-18 · 每个回答都超有意思的
知道顶级答主
回答量:4.6万
采纳率:93%
帮助的人:7632万
展开全部

用选择法对10个整数递增排序。10个整数用scanf函数输入

选择法:假设集合A有n个元素,按以下算法完成递增排序:

(1)\x05以一个元素为基准,从一个方向开始扫描,比如以A[0]为基准,从左至右扫描;

(2)\x05用A[0]右边的A[1]-A[n-1]与A[0]比较,找出最小的元素,将其与A[0]交换;

(3)\x05将基准位置右移一位,即移到A[1],重复(1)和(2)动作,比如,以A[1]为基准,找出A[1]-A[n-1]中最小的,将其与A[1]交换。一直进行到基准位置移到数组最后一个元素时排序结束(此时基准左边所有元素均递增有序,而基准为最后一个元素,故完成排序)。

#include<stdio.h>

void main()

{

int i,j,min,temp,a[11];

printf("enter data;\n");

for(i=1;i<=10;i++)

{printf("a[%d]=",i);

scanf("%d",&a<i>);

}

printf("\n");

printf("The original numbers:\n");

for(i=1;i<=10;i++)

printf("%5d",a<i>);

printf("\n");

for(i=1;i<=9;i++)

{min=i;

for(j=i+1;j<=10;j++)

if(a[min]>a[j])min=j;

temp=a<i>;

a<i>=a[min];

a[min]=temp;

}

printf("\nThe sored numbers;\n");

for(i=1;i<=10;i++)

printf("%5d",a<i>);

printf("\n");

}

追问
用cin输入呢 哥哥
cdyzxy
2019-12-31 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:85%
帮助的人:3786万
展开全部
#include<iostream>
using namespace std;
#define N 10
void main() { a[N],i,j,k;
for ( i=0;i<N;i++ ) cin>>a[i];
for ( i=0;i<N-1;i++ ) for ( j=i+1;j<N;j++ ) if ( a[i]>a[j] ) {k=a[i];a[i]=a[j];a[j]=k;}
for ( i=0;i<N;i++ ) cout<<a[i]<<" "; cout<<endl;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式