void main()
{
int a[100]={0}
int i,j,k,m,n=0,z
printf("输入数字,每次回车为一个,以-1为结束数字\n")
for(i=0i<100i++)
{
scanf("%d",&a[i])
n++
if(a[i]==-1)
{
break
}
}
for(i=0i<n-1i++)
{
for(j=0j<n-2-ij++)
{
if(a[j]>a[j+1])
{
k=a[j]
a[j]=a[j+1]
a[j+1]=k
}
}
}
printf("排序后的数字是:\n")
for(i=0i<n-1i++)
printf("%d\n",a[i])
printf("请输入要插入的数字")
scanf("%d",&m)
for(i=0i<n-1i++)
{
if(a[i]<=m &&a[i+1]>m)
{
z=i
break
}
else
{
z=-2
}
}
if(z>=0)
{
for(i=n-1i>zi--)
{
a[i+1]=a[i]
}
a[z+1]=m
}
if(z==-2)
{
a[n]=m
}
for(i=0i<ni++)
{
printf("%d\n",a[i])
}
}
穷举法也叫枚举法或列举法。通常对于一些要求得到精确结果而所求结果又不大的时候可用此法,具体的做法就是将所有可能的情况一一举出。程序调用自身的编程技巧称为递归。递归做为一种算法在程序设计语言中广泛应用。
代法也称辗转法,是一种不断用变量的旧值递推新值的过程,跟迭代法相对应的是直接法,即一次性解决问题。