如何用c语言编程输入一个数将其插入从小到大排列的n个数且仍保持有序的程序?

如题所述

#include <stdio.h>

#define N 10

void insert(int list[], int n, int x)

{

int i;

for(i = n - 1; (i >= 0) && (x < list[i]); i--)

list[i + 1] = list[i];

list[i + 1] = x;

}

void main( )

{

int i, list[N + 1], x;

printf("从小到大输入10个数:\n");

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

scanf("%d", &list[i]);

printf("输入要插入的数:\n");

scanf("%d", &x);

insert(list, N, x);

printf("插入的结果为:\n");

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

printf("%-4d", list[i]);

}

6

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

如何用c语言编程输入一个数将其插入从小到大排列的n个数且仍保持有序...
int i, list[N + 1], x;printf("从小到大输入10个数:\\n");for(i = 0; i < N; i++)scanf("%d", &list[i]);printf("输入要插入的数:\\n");scanf("%d", &x);insert(list, N, x);printf("插入的结果为:\\n");for(i = 0; i <= N; i++)printf("%-4d", list[...

如何用c语言编程输入一个数将其插入从小到大排列的n个数且仍保持有序...
int i, list[N + 1], x;printf("从小到大输入10个数:\\n");for(i = 0; i < N; i++)scanf("%d", &list[i]);printf("输入要插入的数:\\n");scanf("%d", &x);insert(list, N, x);printf("插入的结果为:\\n");for(i = 0; i <= N; i++)printf("%-4d", list[...

...有n个数已经从小到排列好,要求输入一个数将其插入原有的数列 而且仍...
j = 0;int a[11] = {10,20,30,40,50,60,70,80,90,100};int n = 0;int num = 10;int tmp = 0;printf("原有数组:\\n");for (i=0; i<num; i++){printf("%d ",a[i]);}printf("\\n");printf("请输入要插入的数:\\n");scanf...

c语言如何输入一个正整数N,再输入N个整数,按从小到大的顺序输出?_百度...
int main(){int n,i,j,t,a[200];scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<n-1;i++)for(j=0;j<n-1-i;j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;} for(i=0;i<n;i++)printf("%d ",a[i]);printf("\\n")...

...插入到按升序排好序的整数数组中,插入后仍然保持升序
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语言求解。 从键盘输入一个正整数N,再输入N个整数,按从小到大的顺序...
printf("请再输入%d个数据:",n); for(i=0;i<n;i++) scanf("%d",&a[i]); printf("\\n"); for(j=0;j<n-1;j++)\/\/冒泡排序进行从小到大排列 for(i=0;i<n-1-j;i++) if(a[i]>a[i+1]) {t=a[i]; a[i]=a[i+1]; a[i+1]=t;} printf("The sorted numbers:\\n"); for...

用C语言编程:在有序的数列中插入若干个数,每插入一个数都要保持有序
用数组也不是很难,思路就是从最后那个数据开始比较,如数组时从小到大排列的,那就比价是否比这个数据大,要是小,那这个数组中的数就后移一位,在比较前面的,不大,就插入它后面 代码是 int a[100]; \/\/这里有部分数据如50个,a1~a49是有序的 int c; \/\/这个是插入的数据 int i,n...

c语言编程:输入一个数字n,再输入n个数,将这个n个数从小到大输出。
scanf(输入n的值);\/\/输入个数 int array;\/\/把需排序的数列定义为数组。这里需要指出的是,如果定义为array[n-1],因为你的n在编译时未赋值,所以编译是不会通过的。于是这里直接将它定义为一个指针,赋值方法跟数组相同。但是个数太多就不能这么做了 for(i = 0;i < n;i++){ \/\/输入需要...

...和n个有序整数(从大到小的顺序),今输入一个数x,要求按原来排序的规...
输入一个整数n,表示接下来会输入n个有序整数(从大到小的顺序)。然后输入一个数x,要求按原来排序的规则将它插入到这个有序序列中。最后输出这个新的有序序列。这里提供一个 C++ 的示例代码来解决这个问题:include <iostream> using namespace std;int main() { const int MAX_N = 10;int n,...

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++)...

相似回答