一开始想麻烦了,想用vector来创建数组,但是此题目不要求输入个数,又因为题目说不超过30,好解决,直接开一个三十的数组
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int arr[30] = { 0 };
cin >> arr[0];
int sum = 0;
int i = 0;
int index = 2;
while (arr[i] != 0)//用while实现循环
{
if (arr[i] == 1) sum += 1;
else if ((arr[i - 1] == 1 && arr[i] == 2)||((i==0)&&arr[i]==2))
{
sum += 2;
index = 2;
}
else if ((arr[i] == 2)&&(arr[i-1]==2))
{
sum += index * 2;
index++;
}
i++;
cin >> arr[i];
}
cout << sum;
return 0;
}