天天酷跑
一开始卡在了不知道如何判断E是什么时候出现了
其实可以进行计数
如果第一次出现的话0
后面就可以进行判断了
因为count>0
就可以进行sum+=5
还有一个问题 如果用C语言写的话,第二次清零总是清不干净(数组)用c++写的话(字符串就不会遇到这种问题),可能只有在c++中字符串才是数组
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,i,j,sum,q,count;
//char s[10000];
string s;
while(cin>>n)
{
sum=0;
count=-1;
//memset(s,0,sizeof(s));
//for(i=0;i<n;i++)
//{
// scanf("%c",&s[i]);
//}
cin>>s;
for(i=0;i<n;i++)
{
if(count>=0&&q==1)
{
count++;
if(count>10)
{
count=-1;
q=0;
}
}
if(s[i]=='A')
sum+=5;
else if(s[i]=='B')
{
if(count==-1)
sum+=3;
else if(count>0&&count<=10)
sum+=5;
}
else if(s[i]=='C')
{
if(count==-1)
sum+=1;
else if(count>0&&count<=10)
sum+=5;
}
else if(s[i]=='D')
sum+=10;
else if(s[i]=='E')
{
count=0;
q=1;
}
}
//printf("%d\n",sum);
cout<<sum<<endl;
}
return 0;
}