#include"stdafx.h"
#include<stdio.h>
intmain()
{
intm,n,i,j,h;
inta[17]={1,5,9,14,23,34,45,56,67,78,89,99,105,126,156};
scanf("%d,%d",&m,&n);
for(i=0;i<15;i++)//这里i<16;改成i<15;因为插入前数组有15个元素
{
if(m<=a[i])//这里m<a[i]改成m<=a[i]
{
for(j=14;j>=i;j--)
a[j+1]=a[j];
a[i]=m;
break;//这里加break;插入m后退出循环
}
}
for(i=0;i<16;i++)
{
if(n<=a[i])//这里n<a[i]改成n<=a[i]
{
for(j=15;j>=i;j--)
a[j+1]=a[j];
a[i]=n;
break;//这里加break;插入n后退出循环
}
}
for(i=0;i<17;i++)//这里i<16;改成i<17;因为插入后数组有17个元素
printf("%d",a[i]);
return0;
}
扩展资料
C语言输出数组的每一个值
#include<stdio.h>
intmain()
{
inta[8]={0,1,2,3,4,5,6,7};
printf("%d---%d--%d--%d--%d--%d--%d--%d",a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);
return0;
}
C语言实现代码如下:
#include "stdio.h"
int main(void){
int a[10]={1,3,5,6,7,8,9},t=4,i;
for(i=6;i>=0;i--){
if(t>a[i]){
a[i+1]=t;
break;
}
a[i+1]=a[i];
}
for(i=0;i<8;printf("%d ",a[i++]));
printf("\n");
return 0;
}
扩展资料:
冒泡排序
从数组头部开始,不断比较相邻的两个元素的大小,让较大的元素逐渐往后移动(交换两个元素的值),直到数组的末尾。经过第一轮的比较,就可以找到最大的元素,并将它移动到最后一个位置。
第一轮结束后,继续第二轮。仍然从数组头部开始比较,让较大的元素逐渐往后移动,直到数组的倒数第二个元素为止。经过第二轮的比较,就可以找到次大的元素,并将它放到倒数第二个位置。
以此类推,进行 n-1(n 为数组长度)轮“冒泡”后,就可以将所有的元素都排列好。
参考资料来源:百度百科-C语言
本回答被网友采纳c语言 向有序数组中插入一个数,保持原顺序不变,将新数组输出
break;\/\/这里加break;插入n后退出循环 } } for(i=0;i<17;i++)\/\/这里i<16;改成i<17;因为插入后数组有17个元素 printf("%d",a[i]);return0;}
向有序数组中插入一个数,保持原顺序不变,将新数组输出
3,5,6,7,8,9},t=4,i; for(i=6;i>=0;i--){ if(t>a[i]){ a[i+1]=t; break; } a[i+1]=a[i]; } for(i=0;i<8;printf("%d ",a[i++]
C语言编程:有一个已排好序的数组,现输入一个数插入到数组中,要求插入该...
main(){ int a[100],n=10,i,j,x;\/*输入10个数*\/ for (i=0;i<n;i++) scanf("%d", &a[i]);\/*输入1个数*\/ scanf("%d",&x);\/*找到需要插入的位置j*\/ for (i=0;i<n;i++) if (a[i]<x) j=i+1;\/*把j之后的数据后移*\/ for (i=n;i>j;i--) a[i]=a[i-...
用C语言编程:在有序的数列中插入若干个数,每插入一个数都要保持有序
用数组也不是很难,思路就是从最后那个数据开始比较,如数组时从小到大排列的,那就比价是否比这个数据大,要是小,那这个数组中的数就后移一位,在比较前面的,不大,就插入它后面 代码是 int a[100]; \/\/这里有部分数据如50个,a1~a49是有序的 int c; \/\/这个是插入的数据 int i,n...
在C#中怎样在有序数组中添加一个数后依然有序! 要详细代码!
你要用ArrayList这个类型,如果就是普通的数组没法改变大小,实现比较麻烦。假设你数组内包含int类型数据,且从小到大排列。说一下思路,ArrayList a,待插入元素为k 循环遍历整个数组,当发现a[i]大于k时,1、把i开始到数组结束的所有元素后移一个位置。也就是a[i+1]=a[i]。2、把k放到i的位置 ...
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++)...
...输入一个数将其插入原有的数列 而且仍然保持有序,要求
int argc, const char *argv[]){int i = 0, 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...
C语言中,有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它...
C语言,有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。解:include int main(){ int a[11]={1,4,6,9,13,16,19,28,40,100};int temp1,temp2,number,end,i,j;printf("array a:\\n");for (i=0;i<10;i++)printf("%5d",a[i]);printf("\\n");pri...
c语言 从键盘输入10个从小到大有序排列的整数后,再输入一个整数将其...
include<stdio.h> main(){ int a[6]={5,26,31,78,91},i,t,k;printf("---\\n原数组:");for (i=0;i<5;i++){ printf(" %d ",a[i]);} printf("\\n插入一个数:");scanf("%d",&t);if (t>=a[0] && t<a[4]){ for (i=0;i<5;i++){ if (t>=a[i]&&t<=a...
怎样在一个有序数组中插入一个数字拜托各位了 3Q
给你一个例子吧: #include<iostream.h> void main() { double a[100],x(23);\/\/x为扎入数值为23. int n,i,j; for(i=0;i<10:i++)\/\/输入有序数组. cin>>a[i]; for(j=0;j<10;j++)\/\/查找插入位置. if(xj:i--)\/\/将数据后移. a[i]=a[i-1]; a[j]=x; for(i=...