Angry Grammar Nazi


  Angry Grammar Nazi
  1、给出的几个要处理的字符串没有重复性(子串),不必考虑某个单词是算在哪个种类中;
  2、给出的几个要处理的字符串(除了“lol”)都是单词或短语,可以直接搜索
  3、给出的处理长串没有前导空格也没有后导空格,不必考虑多余空格处理;
  4、每一句是一行,不必考虑结束标志,直接用gets()接收输入的字符串,每次输入是一句。
  5、没处理完一个“单词”,把搜索的起点移到该“单词”后面,继续搜索,直到搜索遇到字符串结束标志
  20114045007 A Accepted GNU C++ 0 ms 860 KB [ 1211 B ] 2013-09-29 09:40:56
  <span style="font-size:18px">#include<stdio.h>
  #include<string.h>
  int main()
  {
  int t,sum;
  char x[105],*i;  //存储输入输出的待处理的字符串
  int j;
  scanf("%d",&t);
  getchar();  //t后面有个空格和回车,吸收空格,保证后面数据输入的正确性
  while(t--)
  {
  sum=0;
  x[0]=' ';  //串前加入前导空格
  gets(x+1);  //输入待处理字符串
  int strx=strlen(x);
  x[strx]=' ';  //加入后导字符串
  x[strx+1]='\0';   //添加结束标志,strstr()查找成功或遇字符串结束符,结束查找
  i=x;  //从字符串开始位置开始处理
  while(strstr(i," u "))   //处理字符串中单独的u的单词
  {
  sum++;
  i=strstr(i," u ")+2;    //往后2个位置可以滤过该“单词”
  }
  i=x;
  while(strstr(i," ur "))
  {
  sum++;
  i=strstr(i," ur ")+3;
  }
  i=x;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值