1. 程式人生 > >ccf跳一跳

ccf跳一跳

else if gpo ems 方便 else ret 理解 不為 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;
}

  

ccf跳一跳