c语言编程。在升序数组中插入一个数据x,保持数组有序。

如题所述

#include <stdio.h>
#include <string.h>

int main()
{

    int a[15]={1, 4, 7, 19, 22, 98, 100}, n = 7, v, i;
    scanf ("%d", &v);
    for (i = n; i > 0; --i){
        if(a[i-1] > v){
            a[i] = a[i-1];
        }
        else {
            a[i] = v;
            break;
        }
    }
    n++;
    if (i == 0)a[i] = v;
    for (i = 0; i < n; ++i){
        printf ("%d ", a[i]);
    }
    printf ("\n");
    return 0;
}

温馨提示:内容为网友见解,仅供参考
无其他回答

在一个升序数组中插入一个数,使数组仍然保持升序排列。求代码
int t[100],c,d;while(~scanf("%d %d",&c,&d)){ for (int j=0;j<c;j++){ scanf("%d",&t[j]);} sort(t,c,d);} } 运行效果:

...在一个元素值按升序存放的整型数组中插入一个数,使得插入后的数组元...
{ int a[N+1],x,i,k; \/\/ 等待输入数组 for(i=0;i<N;i++) scanf("%d",&a[i]);\/\/等待输入插入数值 scanf("%d",&x); \/\/找到数值要插入的坐标位置 (从0开始,下标递增查找,满足数组的值<插入的数值,继续查找,找到第一个比插入数值大的数) for(i=0;a[i]<x&&i<N;i++) ;\/\/从第K...

c语言 向有序数组中插入一个数,保持原顺序不变,将新数组输出
break;\/\/这里加break;插入n后退出循环 } } for(i=0;i<17;i++)\/\/这里i<16;改成i<17;因为插入后数组有17个元素 printf("%d",a[i]);return0;}

用C语言编写函数实现快速排序(升序),在主函数中输入数组数据,并调用该...
void merge_sort(int * array,int p,int r){ if(p<r){ int q=(r+p)\/2;merge_sort(array,p,q);merge_sort(array,q+1,r);merge(array,p,q,r);} } void main(){ int size,index,* array;\/\/printf("请输入元素个数:");scanf("%d",&size);array=(int*)malloc(size*sizeof...

在c语言中,如何在数组中插入一个数
方法为:输入一个数据x,将数组中的数据与x逐一比较,如果大于x,记录下数据的下标,然后此数据下标和其后的数据的下标都加一,相当于都向后挪一位,然后将x赋值给数组的那个下标。include<stdio.h> int main()int i, j, k, x, a[11] =(3, 6, 7, 9, 12, 14, 15, 27, 29...

输入一个元素数为n的升序数组,在插入整数x,y,后该数组仍有序。
插入x的循环后加入了插入失败的情况,也就是把x放到新数组(长度n+1)末尾;然后尝试把y插入这个新数组中,循环次数比上一个多了一次(i<n+1),如果y比新数组所有元素都大,把y放到新新数组(长度n+2)。实现代码:include <iostream> using namespace std;int main(){ int n, i, j;int a[20...

C程序编写,将一个数插入到一个已经有序的数组里,要求保持有序
源程序如下:define _CRT_SECURE_NO_WARNINGS include<stdio.h> int main(){ int i, j, t, k;\/\/定义循环变量 const int n = 10;\/\/定义数组元素个数 int a[n], b[n + 1];\/\/定义两个数组 printf("您喜欢的有序数组:\\n");\/\/输入数组序列文字提 for (i = 0; i < n; i++)...

...到按升序排好序的整数数组中,插入后仍然保持升序
10]= {0,1,2,3,4,5,6,7,8,9};int resultarr[11];int i,index=0,num=0;printf("请输入要插入的整数:\\n");scanf("%d",&num);for(i=0; i<10; i++) {if(sortarr[i]>=num){index=i;break;}}for(i=0; i<11; i++) {if(i<index) {resultarr[i]=sortarr[i];...

C语言编程:一个已经排好序的数组,往里插一个数,并找出他插到哪里?
#include int main() { int i,n=10,a[20]={2,4,6,7,8,10,13,16,17,26},x; for(i=0;i0&&a[i]>x;i--) a[i+1]=a[i]; a[++i]=x; printf("插入到a[%d]:\\n",i); n++; for(i=0;i<n;i++) printf("%d ",a[i]); printf("\\n"); return 0; } 已赞过 已踩过< ...

用C语言设计一个通用的升序插入排序函数Insert_Sort(),完成若干实数的...
int Insert_sort(float*p, int n, float x ){int i,j;for(i=0;i<n;i++)if(x<p[i])break;for(j=i;j<10;j++)p[j+1]=p[j];p[i]=x;return 0; }鉴于你没有说明参数n是什么,我就认为它是第几个数字的标号,从1开始到10结束 ...

相似回答