C语言作业:已知n个数按从小到大的顺序排列,现插入一个数,使新的数组也按从小到大顺序排列

来源:百度知道 编辑:UC知道 时间:2024/06/05 18:51:02
#include <stdio.h>
#define MUN 10
main()
{int i,j,k;
int f[MUN];
printf("从小到大输入9个数:");
for(i=0;i<9;i++)
{scanf("%d",&f[i]);
printf("%d\n",f[i]);
}
printf("输入一个数:");
scanf("%d",&k);
if(k>f[8])
{f[9]=k;
for(j=0;j<10;j++)
printf("%d\n",f[j]);}
else
if(k<f[0])
{printf("%d\n",k);
for(i=0;i<9;i++)
printf("%d\n",f[i]);
}
else
for(i=0;i<10;i++)
if(k<f[i])
{f[i+1]=f[i];
f[i]=k;
for(j=2;i+j<8;j++)
f[i+j]=f[i+j+1];
for(i=0;i<10;i++)
printf("%d\n",f[i]);}
}

冒泡排序
#include <stdio.h>

void main()
{
int i,j,a[5]={12,25,43,2,65};

for(i=0;i<4;i++) 这个我知道是循环次数
{
for(j=0;j<5-i-1;j++) 那这个循环是什么意思呢
{
if(a[j]<a[j+1])这个判断是什么意思
{
int t;
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}

for(i=0;i<5;i++)
{
printf("%d\t",a[i]);
}

printf("\n");