c语言用选择法对10个数从小到大排序;然后输入另一个数,将它插入到10个数中,使这些数仍然有序

谢谢了急... 谢谢了急 展开
 我来答
徐光猪
2010-06-25 · TA获得超过4168个赞
知道大有可为答主
回答量:1299
采纳率:50%
帮助的人:1743万
展开全部
#include <stdio.h>
void fun(int a[ ],int n)
{
int i,j,k,temp;
for(i=0;i<n-1;i++)
{
k=i; //k的作用是记录要交换的位置
for(j=i+1;j<n;j++)
if(a[j]<a[k])
k=j; //这个循环的作用是找出数组第i个元素以后最小数据
if(k!=i) //如果k不等于i,说明a[i]不是数组第i位到第n位中最小的元素,交换后让其成为最小的
{
temp=a[k];
a[k]=a[i];
a[i]=temp;
}
}
}
void main()
{
int a[10],i,k,b[11];
printf("请输入十个数:\n");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
fun(a,10);
printf("重新排序:\n");
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
printf("\n");
printf("请输入一个插入的数:\n");
scanf("%d",&k);
for(i=0;i<10;i++)
{
b[i]=a[i];
}
b[10]=k;
fun(b,11);
printf("重新排序:\n");
for(i=0;i<11;i++)
{
printf("%d ",b[i]);
}
printf("\n");
}
来自:求助得到的回答
sojas
2010-06-26 · TA获得超过443个赞
知道答主
回答量:332
采纳率:0%
帮助的人:166万
展开全部
代码片段:
#include <iostream>
using namespace std;
#define ELEMENT_COUNTS 10 //你数组要多大
void main()
{
int arr[ELEMENT_COUNTS] = {0} ;
int temp = 0; //临时储存
for(int i = 0;i<sizeof(arr)/sizeof(arr[0]);i++)
cin>>arr[i]; //输入
for(int i=0;i<sizeof(arr)/sizeof(arr[0]);i++)
for(int j=0;j<i+1;j++)
if(arr[i]<arr[j])
{
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
for(int i=0;i<sizeof(arr)/sizeof(arr[0]);i++)
cout<<arr[i]<<endl;
system("pause");
}

如果有需要你可以改为动态分配
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式