用C++编写程序

从键盘输入n个整数(n<100),存放在一个一维数组中,将它们从大到小排序,再从键盘输入一个整数x,将该数插入到该数组中,使得插入后依然为降序,输出插入后数组中的所有元素... 从键盘输入n个整数(n<100),存放在一个一维数组中,将它们从大到小排序,再从键盘输入一个整数x,将该数插入到该数组中,使得插入后依然为降序,输出插入后数组中的所有元素。
其中将整数x插入到数组中使其依然有序用函数完成。
输入格式:第一个为个数n,后续为n个整数,再输入一个整数x。
输入:10 2 7 911 5 4 3 6 8 20
12
输出:20 12 119 8 7 6 5 4 3 2
展开
 我来答
木木202403
推荐于2016-07-12 · TA获得超过2.5万个赞
知道大有可为答主
回答量:1.8万
采纳率:83%
帮助的人:3035万
展开全部

   C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛。C++支持多种编程范式 --面向对象编程、泛型编程和过程化编程。最新正式标准C++于2014年8月18日公布。  其编程领域众广,常用于系统开发,引擎开发等应用领域,是至今为止最受广大程序员受用的最强大编程语言之一,支持类:类、封装、重载等特性!

  优点

  1. C++设计成静态类型、和C同样高效且可移植的多用途程序设计语言。

  2. C++设计直接的和广泛的支持多种程序设计风格(程序化程序设计、资料抽象化、面向对象程序设计、泛型程序设计)。

  3. C++设计无需复杂的程序设计环境。

  4. C++语言灵活,运算符的数据结构丰富、具有结构化控制语句、程序执行效率高,而且同时具有高级语言与汇编语言的优点,与其它语言相比 ,可以直接访问物理地址

  5. 与汇编语言相比又具有良好的可读性和可移植性。

  总得来说,C++语言的主要特点表现在两个方面,一是尽量兼容C,二是支持面向对象的方法。它操持了C的简洁、高效的接近汇编语言等特点,对C的类型系统进行了改革的扩充,因此C++比C更安全,C++的编译系统能检查出更多的类型错误。另外,由于C语言的广泛使用,因而极大的促进了C++的普及和推广。C++语言最有意义的方面是支持面向对象的特征。虽然与C的兼容使得C++具有双重特点,但他在概念上完全与C不同,更具面向对象的特征。

  

  缺点

  1. C++由于语言本身复杂。C++的编译系统受到C++的复杂性的影响,非常难于编写,即使能够使用的编译器如果存在问题,可能难于被发现。

  2. 由于本身的复杂性,复杂的C++程序的正确性相当难于保证。

jinjinhanyu
2014-11-07 · TA获得超过191个赞
知道答主
回答量:118
采纳率:0%
帮助的人:93.9万
展开全部
写起来有点烦,给你个思路吧:
1、输入数字的个数n;
2、使用n,new 一个一维整形数组Arr1,长度为n+1;
3、逐个输入n个待排序整数。(方案1,乱序输入,而后用数组冒泡排序摆放。方案2,插入整数的同时排序)
4、再输入整数X,逐个与数组中的数字比较,找到它应该在的位置的下标,即应该放到的位置,如i,此时,再new一个长度为n-(i+1)的数组Arr2,将Arr1的下标为i~n的值依次赋给Arr2。
5、将X放到Arr1的第i个位置
6、依次将Arr2的值赋给Arr1的下标(i+1)~(n+1)的位置
7、循环输出Arr1即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
White_MouseYBZ
2014-11-07 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6675万
展开全部
//#include "stdafx.h"//vc++6.0加上这一行.
#include <iostream>
#include "time.h"
#include "stdlib.h"
using namespace std;
void myinsert(int *p,int n,int x){
int i,j;
for(i=n-1;p[i]<x && i>=0;i--);
for(i+=1,j=n;j>i;p[j--]=p[j-1]);
p[j]=x;
}
void main(void){
int a[100],i,j,k,x,n;
srand((unsigned)time(NULL));
while(1){
cout << "Enter data...\n";
cin >> n;
if(n>0 || n<100) break;
cout << "Error! redo: ";
}
for(i=0;i<n;scanf("%d",a+i++));
for(i=0;i<n;i++){
for(k=i,j=k+1;j<n;j++)
if(a[k]<a[j]) k=j;
if(k!=i){
j=a[k];
a[k]=a[i];
a[i]=j;
}
}
cout << "Type x...\nx=";
cin >> x;
myinsert(a,n,x);
for(n++,i=0;i<n;cout << a[i++] << ' ');
cout << endl;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fluss2013
2014-11-07 · TA获得超过160个赞
知道小有建树答主
回答量:306
采纳率:0%
帮助的人:187万
展开全部
用双向链表实现。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式