热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

普天同庆,皆大欢喜~~

1#include2#include3voidconvert(charstr[]);4voidadd(charstr[]);5intmain(

技术图片

 技术图片

 1 #include
 2 #include<string.h>
 3 void convert(char str[]);
 4 void add(char str[]);
 5 int main(void)
 6 {
 7     char ch1[15];
 8     char ch2[1000020];
 9     int i=0,j=0;
10     int word=1,flag=1;
11     int num=0;
12     int temp=-1;
13 
14     gets(ch1);
15     gets(ch2);
16     convert(ch1);
17     convert(ch2);
18     add(ch2);
19     while(ch2[i]!=\0)
20     {
21         if(ch2[i]== )
22         {
23             word=0;flag=1;j=0;
24         }
25         else word=1;
26         if(word==1&&flag==1)
27         {
28             if(ch2[i]==ch1[j])
29             {
30                 flag=1; j++;
31                 if(ch1[j]==\0&&ch2[i+1]== )
32                 {
33                     num++;
34                     if(temp==-1) temp=i-strlen(ch1)+1;
35                 }
36             }
37             else
38             {
39                 flag=0;j=0;
40             }
41         }
42         i++;
43     }
44     printf("%d ",num==0?-1:num);
45     if(num!=0) printf("%d",temp-1);
46 
47     return 0;
48 }
49 void convert(char str[])
50 {
51     int i=0;
52     while(str[i]!=\0)
53     {
54         if(str[i]>=A&&str[i]<=Z) str[i]+=32;
55         i++;
56     }
57 }
58 void add(char str[])
59 {
60     int i;
61     int temp=strlen(str);
62     for(i=temp-1;i>=0;i--)
63     {
64         str[i+1]=str[i];
65     }
66     str[0]= ;
67     str[temp+1]= ;
68     str[temp+2]=\0;
69 }

 这题困了我一上午!!一上午!!

此题也规范了我解决问题的方式。一开始写的时候想到啥就写啥,想着留着最后debug的时候完善。最后发现debug太难了!!

第二次我就先把算法大致写了一下,很快就写出来了比较完整的代码。但是最后还是WA了几组数据。之后又随意试了几组数据,没想到竟然试出来啦~我用temp记录找到的第一个单词的首字母的下标时,一开始直接把相同的首字母的下标赋值给了temp,忽视了此时的单词可能并不符合题意。

比如 我想找 在  a t i to里面找to,显然刚开始的temp就被我给赋值为3了 但是t不是to。

刷题时,还是要保持一个清晰的头脑,提前做好规划,每一步都要干什么,这样写代码就会比较顺利。

加油,Ziyang!!

普天同庆,皆大欢喜~~


推荐阅读
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 网络流24题——试题库问题
    题目描述:假设一个试题库中有n道试题。每道试题都标明了所属类别。同一道题可能有多个类别属性。现要从题库中抽取m道题组成试卷。并要求试卷包含指定类型的试题。试设计一个满足要求的组卷算 ... [详细]
  • 本文探讨了使用普通生成函数和指数生成函数解决组合与排列问题的方法,特别是在处理特定路径计数问题时的应用。文章通过详细分析和代码实现,展示了如何高效地计算在给定条件下不相邻相同元素的排列数量。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • 本文介绍了如何通过C#语言调用动态链接库(DLL)中的函数来实现IC卡的基本操作,包括初始化设备、设置密码模式、获取设备状态等,并详细展示了将TextBox中的数据写入IC卡的具体实现方法。 ... [详细]
  • Hanks博士是一位著名的生物技术专家,他的儿子Hankson对数学有着浓厚的兴趣。最近,Hankson遇到了一个有趣的数学问题,涉及求解特定条件下的正整数x,而不使用传统的辗转相除法。 ... [详细]
  • 本文通过C++语言实现了一个递归算法,用于解析并计算数学表达式的值。该算法能够处理加法、减法、乘法和除法操作。 ... [详细]
  • 问题描述现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 使用Matlab创建动态GIF动画
    动态GIF图可以有效增强数据表达的直观性和吸引力。本文将详细介绍如何利用Matlab软件生成动态GIF图,涵盖基本代码实现与高级应用技巧。 ... [详细]
  • OpenCV中的霍夫圆检测技术解析
    本文详细介绍了如何使用OpenCV库中的HoughCircles函数实现霍夫圆检测,并提供了具体的代码示例及参数解释。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 本文介绍了一种使用SQL Server存储过程来实现基于单一条件的高效分页查询的方法。通过示例代码,详细说明了如何构建和执行这种分页查询。 ... [详细]
  • 本问题涉及在给定的无向图中寻找一个至少包含三个节点的环,该环上的节点不重复,并且环上所有边的长度之和最小。目标是找到并输出这个最小环的具体方案。 ... [详细]
  • 洛谷 P4009 汽车加油行驶问题 解析
    探讨了经典算法题目——汽车加油行驶问题,通过网络流和费用流的视角,深入解析了该问题的解决方案。本文将详细阐述如何利用最短路径算法解决这一问题,并提供详细的代码实现。 ... [详细]
author-avatar
OkzYa-_916
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有