期中考试,c++。从键盘输入10个数到数组,调用排序函数对其进行排序(...

期中考试,c++。从键盘输入10个数到数组,调用排序函数对其进行排序(降序),再从键盘输入一个数,调用函数,将数插入形成一个新的降序排列的数组。急求哈... 期中考试,c++。从键盘输入10个数到数组,调用排序函数对其进行排序(降序),再从键盘输入一个数,调用函数,将数插入形成一个新的降序排列的数组。急求哈 展开
 我来答
19bobo
2012-04-12 · 超过26用户采纳过TA的回答
知道答主
回答量:82
采纳率:100%
帮助的人:64.2万
展开全部
#include <iostream>
using namespace std;

//降序排列
void Rank(int a[],int n)
{
int i,j;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[j]>a[i])
{
int t=a[j];
a[j]=a[i];
a[i]=t;
}
}

//插入函数
void Insert(int a[],int n,int e)
{
int i,j;
for(i=0;i<n;i++)
if(e>=a[i])
{
for(j=n;j>i;j--) //将小的数后移
a[j]=a[j-1];
a[i]=e;
break;
}
}
void main()
{
int a[11]; //可以将其规模再扩大一些
int i;
cout<<"请输入10个数:";
for(i=0;i<10;i++)
cin>>a[i];

Rank(a,10);
cout<<"降序排列为: ";
for(i=0;i<10;i++)
cout<<a[i]<<" ";
cout<<endl;

cout<<"请输入要插入的数:";
cin>>i;

Insert(a,10,i);
cout<<"重新排列为: ";
for(i=0;i<11;i++)
cout<<a[i]<<" ";
cout<<endl;
}
青菜白玉饭汤
2012-04-13
知道答主
回答量:40
采纳率:100%
帮助的人:18.5万
展开全部
#include<iostream>
#define N 100
using namespace std;
void arraySort(int s[],int n);
void insertNum(int s[],int n,int num);
int main()
{int p[N],num;
cout<<"请输入十个数:";
for(int i=0;i<10;i++)
cin>>p[i];
arraySort(p,10);
cout<<"排序后数为:";
for(int i=0;i<10;i++)
cout<<p[i]<<' ';
cout<<endl;
cout<<"请输入一个想要插入的数:";
cin>>num;
insertNum(p,10,num);
cout<<"插入数后排序为:";
for(int i=0;i<11;i++)
cout<<p[i]<<' ';
return 0;
}
void arraySort(int s[],int n)
{bool exchange;
while(n>1)
{exchange=false;
for(int i=0;i<n-1;i++)
if(s[i]<s[i+1])
{int temp=s[i];
s[i]=s[i+1];
s[i+1]=temp;
exchange=true;
}
if(!exchange) break;
n--;
}
}
void insertNum(int s[],int n,int num)
{int i;
for(i=0;i<n;i++)
if(s[i]<num)
{for(int j=n-1;j>=i;j--)
s[j+1]=s[j];
s[i]=num;
break;
}
if(i==n) s[n]=num;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
苟富贵勿相忘忘
2012-04-16
知道答主
回答量:31
采纳率:0%
帮助的人:12.7万
展开全部
百度文档里里有好多的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
孟祥飞6270
2012-04-13
知道答主
回答量:7
采纳率:0%
帮助的人:1.1万
展开全部
自己编写排序函数,可以是最简单的冒泡排序,通过参数调用就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式