题目如下:
我们可以分析得:
- 开一个为30的数组,若上一个为0(且本次不为0),则不继续输入。
- 如果本次为1,则加一,count 归0;
- 本次为2 ,则 2+ count*2,并且count+1;
#include<iostream>
using namespace std;
int main()
{
int a[30];
int count1 = 0, sum = 0, count = 0;
for (int i = 0; i < 30; i++)
{
cin >> a[i];
count1++;
if (i != 0)
{
if (a[i] == 0)
{
break;
}
}
}
for (int i = 0; i < count1; i++)
{
if (a[i] == 1)
{
sum = sum + 1;
count = 0;
}
if (a[i] == 2)
{
count++;
sum = sum + count * 2;
}
}
cout << sum << endl;
return 0;
}