才考完,没题目,先传代码...
#include<stdio.h>
#include<string.h>
int main()
{
int flag=0;
int a[105];
int tmp[105];
int i=0,k=0;
int sum=0;
memset(a,0,sizeof(a));
memset(tmp,0,sizeof(tmp));
while(!flag)
{
scanf("%d",&a[i]);
if(a[i]!=0)
tmp[k++]=a[i];//不为0,就把它存进tmp数组里
else flag=1;
i++;
}
int j=0;
//方便理解的版本
//while(j<k)
//{
// if(tmp[j]==1)
// sum+=tmp[j];
// else if(tmp[j]!=1&&tmp[j-1]==1)
// sum+=tmp[j];//实际上这个和上一种情况写在一起就可以啦,这里是为了方便理解
// else if(tmp[j]!=1&&tmp[j-1]!=1)
// {
// tmp[j]=tmp[j-1]+2;
// sum+=tmp[j];
// }
// j++;
//}
//下面是简化的版本
while(j<k)
{
if(tmp[j]!=1&&tmp[j-1]!=1)
{
tmp[j]=tmp[j-1]+2;
}sum+=tmp[j];
j++;
}
printf("%d",sum);
return 0;
}