C语言编程:一个已经排好序的数组,往里插一个数,并找出他插到哪里?

作者&投稿:布鲁 (若有异议请与网页底部的电邮联系)
C语言求助,把一个数插入到一个已排好序的数组中~

1、可以用下面代码把数插入一个排好序的数组,数组进行迭代取值。

2、下面是数组排序的代码,这里是按大小排序的,每次取值和输入的数比较,比输入的数小,就往后移动移位,直到移出输入数该放的位置,反之也是。

3、或者用下图的代码实现,有一个已排好序的数组,现在插入一个数字。

4、按原来已排好的排序规律将它插入数组,i++循环比较简单。

用数组写。
程序1:
自己输入10个数,然后从小到大排序。
然后输入另一个数,插入原来的数组,再排序。
#include
void main()
{
int i,j,m,temp,a[11];
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
for(j=i+1;j<10;j++)
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
scanf("%d",&m);
for(i=0;i<10;i++)
if(a[i]>m)
{
temp=a[i];
a[i]=m;
m=temp;
}
a[10]=m;
for(i=0;i<11;i++)
printf("%d ",a[i]);
printf("
");
}
程序2:
初始化一个含有10个元素已排好序的数组
#include
void main()
{
int i,m,temp,a[11]={1,2,3,4,5,6,7,8,9,10};
scanf("%d",&m);
for(i=0;i<10;i++)
if(a[i]>m)
{
temp=a[i];
a[i]=m;
m=temp;
}
a[10]=m;
for(i=0;i<11;i++)
printf("%d ",a[i]);
printf("
");
}




c语言编程题 一个数如果恰好等于它的因子之和,这个数就称为完数。例...
如下图所示:C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台...

输入年份输出属相c语言,编写程序,输入一个年份,判断该年属相.(提示s...
提起输入年份输出属相c语言,大家都知道,有人问关于c语言 已知1972年属鼠,输入一个四位的整数(1000-2999之间)代表年份,显示这一年属相是什么?另外,还有人想问C语言编程: 已知2015年是羊年,编程实现,输入任意年份,输出该年属相。(使用switch,你知道这是怎么回事?其实输入年份输出属相用c语言...

c语言编程:一个2*3矩阵,求最大值,最小值
思路:先把矩阵的第一个数赋值给最大值和最小值,接着遍历整个矩阵依次和最大值和最小值比较,更新最大值和最小值,最后输出最大值和最小值。 参考代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include "stdio.h" int main() { int a[2][3]={{5,1,2},{6,9,4}},max,min,i,j...

c语言编程题: 职工数据包括:职工号、职工姓名、性别、年龄、工龄、工资...
printf("请输入第%d个记录\\n",i+1);printf("编号: ");scanf("%d",&s[i].num);printf("名字: ");scanf("%s",s[i].name);printf("性别: ");getchar();scanf("%c",&s[i].sex);printf("年龄: ");scanf("%d",&s[i].age);printf("工龄: ");scanf("%d",&s[i].work_...

用java语言编程:有1、2、3、4四个数字,能组成多少个互不相同且无重复...
private static String num="";public static void main(String[] args) throws Exception {\/\/主函数 int[] arr={1,2,3};\/\/给一个数组 int count=3;\/\/给位数 num(arr,count);\/\/调用① System.out.print(num);\/\/输出用逗号拼接的全部数字(可以用逗号拆分,然后算长度)} \/\/arr 数组, ...

C语言编程:输出一个3位整数的逆序数,如输入123,输出321.
include<stdio.h> main(){ int x,b0,b1,b2,s;printf("inputx:");scanf("%d",&x);b2=x\/100;b1=(x-b2*100)\/10;b0=x%10;s=b0*100+b1*10+b2;printf("s=%d\\n",s);} 运行结果:

探索编程语言的奥秘!
程序设计语言 实践之路 便是两本不容错过的佳作 它们将为你带来全新的启示与收获 128218 Ruby语言之父的视角松本行弘的程序世界 以全局的视野 借助丰富的程序实例与图表 深入浅出地剖析了Ruby编程语言的核心理念 它是一本不容错过的佳作 127775 独特的视角审视编程技术松本行弘的程序世界 ...

编程用c++语言做一个任务:从键盘输入一个学生的两门课成绩,输出总分...
include <stdio.h> int main(){ float a, b, c;printf("请输入该学生的两门成绩,以空格分开 \\n");scanf("%f %f", &a, &b);c = (a + b);printf ("该学生的总成绩为:%0.2f\\n",c);return 0;}

C语言编程,写一个函数,使输入的一个字符串按反序存放,在主函数中输入和...
s);\/\/输出反序后的字符串 return 0;} void input(char st[]){ printf("Please enter string: ");gets(st);} \/\/反序函数 void reverse(char st[]){ int n=strlen(st);for (int i=0, j=n-1, t; i<(n\/2); t=st[i], st[i]=st[j], st[j]=t, i++, j--);} ...

用c语言编写程序,用Switch语句编程实现,输入一个正整数,输出该整数除 ...
include<stdio.h> void main(){ int num;printf("请输入一个正整数:");scanf("%d",&num);while(num<=0){ printf("必须输入一个大于0的正整数!\\n\\n");printf("请输入一个正整数:");scanf("%d",&num);} printf("数字%d除以5",num);switch(num%5){ case 1:printf("余数是1!"...

南谯区19320565350: c语言程序编写 有一个已排好序的数组,由键盘又输入一个数,要求按原来排序的规律将其插入数组中 -
牛终冻干: #include<stdio.h> int main() { int a[40]={1,0},i,j,n,x; printf("请输入数组元素的个数:"); scanf("%d",&n); printf("请输入排好序的一串数字:\n"); for(i=0;i<n;i++) scanf("%d",&a<i>); printf("请输入要插入的数:"); scanf("%d...

南谯区19320565350: 用C语言写的一个程序:有一个已排好的数组,要求输入一个数后,按原来排序的规律将它插入数组中. -
牛终冻干: 代码如下:#include<stdio.h> int main() { int a[20],i=0,n,x,k,j; printf("请输入一组顺序数(从小到大的顺序):"); while(~scanf("%d", &a[i])) { i++; if(getchar() == '\n') break; //在这判断,否则原先的第一个数字读不进去 } n=i; for(i=0;i<n;i++)...

南谯区19320565350: 用C语言编写,一个排好序的数组,插入一个数,再顺序输出. -
牛终冻干: #include <iostream> using namespace std; void Sort_nr(int *arr, int count) { int i, j, temp; for (j = 0; j < count&&arr[j] != 0; j++) for (i = 0; i < count - j - 1; i++) { if (arr[i] > arr[i + 1]) { temp = arr[i]; arr[i] = arr[i + 1]; arr[i + 1] = temp; } } } void Recursive_swith...

南谯区19320565350: c语言求助,谢谢大神! 已有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中, -
牛终冻干: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26#include <stdio.h>intmain() {inta[15] = {9,12,13,23,24,35,46,54,57,67,89};inti,j,x,n = 11;intflag = 1;for(i = 0; i < n; ++i)printf("%d ",a[i]);printf("\n要插入的数:");...

南谯区19320565350: C语言:给定一段已排好序的数组,插入一个数X,按照原来的顺序输出.例如:1 3 5 7 9 插入4 变为13 45 79 -
牛终冻干: #include int main(void) {int a[10],x,i,index,n;printf("Please input n:");scanf("%d",&n);printf("Please input %d integers:",n);for(i=0; i scanf("%d",&a[i]);printf("Please input x:");scanf("%d",&x);for(i=0; i {if(a[i]<=x&&a...

南谯区19320565350: c语言 已有一个已排好序的数组,今输入一个数,要求按原来排序的规律将它插入数组中. -
牛终冻干: insert(int val,int* array,int* len)//val为要插入的数,array为已排序的数组(假设为升序),len为数组元素个数.{ int count,i; i=*len; for(count=0;count<i;count++) { if(val<array[count]) break; } do { array[i+1]=array[i]; i--; }while(i>=count); array[count]=val; (*len)++; //插入后将数组长度增加一 }

南谯区19320565350: C语言:有一个已排好序的数组,要求删除一个数后,还按原来的规律排好 -
牛终冻干: #include"stdio.h" void del(int *a,int x,int n)//删除数组a中第x个数,n是数组大小 {int i;for(i=0;i<n;i++){if((i+1)==x){for(int j=i;j<n-1;j++)a[j]=a[j+1];break;}} } void main() {int a[10]={0,1,2,3,4,5,6,7,8,9};int i;for(i=0;i<10;i++)printf("%d ",a...

南谯区19320565350: 二级C语言:已有一个已排好序的数组,要求输入一个数后,按原来的排序的规律将它插入数组中. -
牛终冻干: 插入后的是新数组还是原来的数组,若是原来的数组的话,则在原先定义时就要先多定义1个.往后挪一位很简单.定义a[11],有10个元素a[0]~a[9]已排序好,若插入到第五个元素a[4]后面,则只需一个for循环 for(i=9;i>5;i--) //挪动6~9的元素,第五位为插入元素,在循环完后在执行 a[i+1]=a[i]; 最后再 a[5]=插入元素;

南谯区19320565350: c语言,有一个已安排好序的数组,要求输入一个数后,按原来排序的规律将它插 -
牛终冻干: 【例】把一个整数按大小顺序插入已排好序的数组中. 为了把一个数按大小插入已排好序的数组中,应首先确定排序是从大到小还是从小到大进行的.设排序是从大到小进序的,则可把欲插入的数与数组中各数逐个比较,当找到第一个比插入数...

南谯区19320565350: C语言求助,把一个数插入到一个已排好序的数组中 -
牛终冻干: 可参考这个程序(我自己编的,不足之处请见谅),在visual C++6.0中运行通过!#include <stdio.h> void main() { int a[11]={1,3,5,9,23,34,51,68,91,100}; int num,i,j; printf("array a is:\n"); for(i=0;i<10;i++) printf("%5d",a[i]); printf("\nplease ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网