这里是原题链接:https://ac.nowcoder.com/acm/contest/26524/J
#include <stdio.h>
int main()
{
char now,temp='\0';
int cnt=0;
while((now=getchar())!=EOF)
{
if(now=='w'&&temp==':')
cnt++;
temp=now;
}
printf("%d",cnt);
return 0;
}
这个题本身不是很难,只是在对付这样的题必须要有一定的经验。
在这个题中,用now和temp不断读入代码段,当读入的代码段符合条件的时候计数器加一:
if(now=='w'&&temp==':')
cnt++;
在这里不需要再对输入做过多的处理(我在第一次做这个题想了很久怎么判断输入结束,我想的是判断main函数的“{}”符号,但是最终以太麻烦而告终),深入了解了这种题的时候我才知道,原来在提交过后,后台的编译器会自动进行Ctrl+C处理来结束输入,所以只需要在后台编译器默认结束的时候输出此时的计数器就可以了。