else后面那个i--啥呢么意思啊,为什么去掉和没有去掉没有差别呢??

#include
int main()
{
int m,n,i,s[100];
while(scanf("%d%d",&n,&m)!=EOF)
{
if(m==0&&n==0)
break;
for(i=0;i scanf("%d",&s[i]);
if(m>s[n-1])
s[n]=m;
else
{
i--;
while(s[i]>m)
{
s[i+1]=s[i];
i--;
}
s[i+1]=m;
}
for(i=0;i<=n;i++)
{
printf("%d",s[i]);
if(i<n)
printf(" ");
else printf("\n");
}
}
return 0;
}

这个就属于逻辑问题了,你自己去研究吧!

#include
int main()
{
int m,n,i,s[100];
while(scanf("%d%d",&n,&m)!=EOF)
{
if(m==0&&n==0)
break;
for(i=0;i scanf("%d",&s[i]);
if(m>s[n-1])
s[n]=m;
else
{
i--;
while(s[i]>m)
{
s[i+1]=s[i];
i--;
}
s[i+1]=m;
}
for(i=0;i<=n;i++)
{
printf("%d",s[i]);
if(i<n)
printf(" ");
else printf("\n");
}
}
return 0;
} 再贴一遍代码,那个代码有点不对