ccf跳一跳

才考完,没题目,先传代码...

#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;
}

  

原文地址:https://www.cnblogs.com/curo0119/p/8597705.html