#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语言
本回答被网友采纳