首页 > 试题广场 >

有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它

[问答题]
有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。
推荐

#include<stdio.h>

int main()

{int a[11]={1,4,6,9,13,16,19,28,40,100};

int temp1,temp2,num ber,end,i,j;

printf("array a:\n");

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

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

printf("\n”);

printf("insert data:");

scanf("%d",&num ber);

end=a[9];

if(num ber>end)

a[10]=num ber;

else

{for(i=0;i<10;i++)

{if(a[i]>number)

{temp1=a[i];

a[i]=num ber

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

{temp2=a[j];

a[j]=temp1;

temp1=temp2;

}

break:

}

}

}

printf("Now array a:\n'");

for(i=0;i<11;i++)

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

printf("\n”);

return 0;

}


发表于 2018-03-25 10:36:28 回复(0)
#include <stdio.h>

int main() {
    //有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。
    int arr[11] = {0,1,2,3,4,5,7,8,9,10};
    int num;
    int temp;
    printf("以下是已经排好序的数组:\n");
    for(int i = 0;i<10;i++){
        printf("%5d",arr[i]);
    }
    printf("\n");
    printf("请输入一个数字插入其中:\n");
    scanf("%d",&num);
    for(int i = 0;i<11;i++){
        if(num<arr[i]){
            temp = arr[i];
            arr[i] = num;
            num = temp;
        }else if(num>arr[9]){
            arr[10] = num;
        }
    }
    printf("重新排好序的数组为:\n");
    for(int i = 0;i<11;i++){
        printf("%5d",arr[i]);
    }
    return 0;
}

发表于 2022-10-11 22:16:43 回复(0)
#include<stdio.h>
#define N 6
int main()
{
    int a[N]={1,2,4,6,8};
    int i,j,x,t1,t2;
    scanf("%d",&x);
    if(x<a[0])
    {
        for(i=N-1;i>0;i--)
        a[i]=a[i-1];
        a[0]=x;
    }
    if(x>a[N-2])
    a[N-1]=x;
    for(i=0;i<N-1;i++)
    {
      if(a[i]>x)
     {
         t1=a[i];
         a[i]=x;
        for(j=i+1;j<N;j++)
        {
            t2=a[j];
            a[j]=t1;
            t1=t2;
        }
        break;
     }
    }
    for(i=0;i<N;i++)
    printf("%d",a[i]);
}
发表于 2020-11-14 15:51:12 回复(0)
#include<iostream>
using namespace std;
 int main()
 {
     int a[6]={1,3,5,7,9},n,t,c=0;
     cin>>n;
     for(int i=0;i<6;i++)
     {
         if(n<a[i])
         {
             t=a[i];
             a[i]=n;
             n=t;
         }
         else
         a[5]=n;
     }
     for(int i=0;i<6;i++)
     cout<<a[i];
     return 0;
 }
这是C++的
发表于 2019-12-12 22:53:31 回复(0)
#include<stdio.h>
#define N 6
int main()
{
    int a[N]={1,12,13,14,16};
    int i,j,x;
    scanf("%d",&x);
    //判断x的值是不是小于最小值
    if(x<a[0]){
        for(i=N-1;i>0;i--)
        a[i]=a[i-1];
        a[0]=x;    
    }
    //判断x的值是不是大于最大值
    if(x>a[N-1])
    a[N-1]=x;
    //x的值位于中间
    for (i=0;i<N-1;i++){
        if (x>a[i]&&x<=a[i+1]){
            for (j=N-1;j>i+1;j--)
                a[j]=a[j-1];
                a[j]=x;
        }

    }
    for (i=0;i<6;i++)
    printf("%d ",a[i]);
 }
发表于 2019-11-04 15:31:51 回复(1)