求几行程序的解释解决方案

求几行程序的解释
如题,想问一下,循环体里面几行赋值和判断语句有什么作用,可以简化成其他语句吗

for ( i= 0; i<5; ++i )
{
  if ( a[i] == -1 )
  continue;
  a[i]=0;

  ... ... // 与a[i]无关的语句

  if(a[i]==0)
  a[i]=-1;

}

------解决方案--------------------
a数组是一系列标记,值为-1的代表被某种处理工程处理过了,所以就是:等于-1继续下一个循环,否则就处理然之后标记为-1。可以直接在最后写a[i]=-1;
应该会有和a数组相关联的另外一个数据结构。



------解决方案--------------------
应该是利用数字a[]来判断 一些操作是否已经处理的标志。
 比如a[i]==-1就表示已经处理 所以就直接continue;

如果不是-1就赋值为0 接下来就是进行一些操作,操作完成之后 就把a[i]的值赋值为-1,这样

当下次进入这个for循环的时候刚才已经处理的a[i]就不会处理了。


应该可以简化,要看你具体的需求了!
------解决方案--------------------
探讨

a数组是一系列标记,值为-1的代表被某种处理工程处理过了,所以就是:等于-1继续下一个循环,否则就处理然之后标记为-1。可以直接在最后写a[i]=-1;
应该会有和a数组相关联的另外一个数据结构。