这一题为了统计是不是连续跳到2,使用了symbol作为标志,遇到2,就置为1或者先++再计算
AC代码:
#include <stdio.h>
#include <math.h>
int num[50];
int main(){
int signal = 0;
int symbol = 0;
int cnt = 0;
while(scanf("%d",&num[signal]) != EOF,num[signal]){
if((signal == 0 || num[signal - 1] == 1) && num[signal] == 2){
cnt = cnt + 2;
symbol = 1;
}
else if(num[signal] == 1){
cnt = cnt + 1;
symbol = 0; //遇到1就重头算
}
else if(num[signal] == 2 && num[signal - 1] == 2){
symbol++;
cnt = cnt + 2*symbol;
}
signal++;
}
printf("%d",cnt);
}