基于visual Studio2013解决C语言竞赛题之1013字符串查找
题目
解决代码及点评
/*
功能:编写函数IND,让它判断一个字符串是否为另一个字符串的子串的功能,若是则返回第一次出现的起始位置,否则返回0 时间:13:55 2013/10/24
*/ #include<stdio.h>
#include<stdlib.h>
#include<string.h> void getChar(char *); //键盘获取字符串函数
int IND(char *,int,char *,int); //主功能 void main()
{
char a[80] = {0};
char b[80] = {0}; printf("a[] = ");
getChar(a);
printf("b[] = ");
getChar(b); int flag=0; //标识符判断b是否为a的子串
flag = IND(a, strlen(a), b, strlen(b)); if (flag != -1) //判断是否
{
printf("the b[] in the a[] started from a[%d].\n", flag);
}
else
printf("No");
system("pause");
} int IND(char a[],int b1,char b[],int b2) //b1,b2f分别为a、b的有效长度
{
if (b1 < b2) //如果a的长度小于b的长度这否
{
return -1;
}
else
{
int pos = 0; //储存子串的首地址,初始化为0
for (char *pa = a; pa < pa+b1-b2;pa++)
{
if (*pa == b[0])
{
for (char *pb = b,i=0; *pb != '\0';i++, *pb++)
{
if (*pb == *(pa + i)) //判断是否为子串
{
if (i+1 == b2 - 1) //i的位置达到b的尾端且相等,则结论成立
{
return pos;
}
else continue;
}
else
{
break;
}
}
}
pos++; //首地址自增
}
return -1; //没有符合条件的则返回-1
}
} void getChar(char a[])
{
char *p = a;
do
{
*p = getchar();
if (*p == '\n')break;
p++;
} while (1);
}
代码编译以及运行
由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:
1)新建工程
2)选择工程
3)创建完工程如下图:
4)增加文件,右键点击项目
5)在弹出菜单里做以下选择
6)添加文件
7)拷贝代码与运行
程序运行结果
基于visual Studio2013解决C语言竞赛题之1013字符串查找的更多相关文章
- 基于visual Studio2013解决C语言竞赛题之0708字符串查找
题目
- 基于visual Studio2013解决C语言竞赛题之0902文件查找
题目
- 基于visual Studio2013解决C语言竞赛题之0704字符串长度
题目
- 基于visual Studio2013解决C语言竞赛题之1042字符串比较
题目 解决代码及点评 /********************************************************************** ...
- 基于visual Studio2013解决C语言竞赛题之1069链表查找删除
题目 解决代码及点评 /* 功能:建立一个链表,每个结点包括:学号.姓名.性别.年龄.输入一个年龄,如果链表中的结点所包含的年龄等于此年龄, 将此结点删除,输出最后的链表. 时 ...
- 基于visual Studio2013解决C语言竞赛题之0401阶乘
题目 解决代码及点评 这个是一道经典的教科书题目,基本上每本基础的c/c++语言教科书都会有这个题目 用来演示循环语句 #include <stdio.h> #include ...
- 基于visual Studio2013解决C语言竞赛题之0205位数求和
题目
- 基于visual Studio2013解决C语言竞赛题之0201温度转换
题目 解决代码及点评 #include <stdio.h> #include <stdlib.h> void main() { float f; float c; float ...
- 基于visual Studio2013解决C语言竞赛题之0409 100以内素数
题目 解决代码及点评 在已经知道素数是怎么判断的基础上,增加循环,可以判断出100以内的素数 /******************************************* ...
随机推荐
- jQuery中的$extend()介绍
jQuery.extend 函数详解 JQuery的extend扩展方法: Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解 ...
- Code(容斥,好题)
Code Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submi ...
- CentOS6.4关闭触控板
1. 检查是否安装xorg-x11-app; rpm -qa xorg-x11-apps 如果没有安装使用下面命令安装xorg-x11-app yum install xorg-x11-apps 2. ...
- POJ3264——Balanced Lineup(线段树)
本文出自:http://blog.csdn.net/svitter 题意:在1~200,000个数中.取一段区间.然后在区间中找出最大的数和最小的数字.求这两个数字的差. 分析:按区间取值,非常明显使 ...
- 写了交互给后台后来不能用?bug多多多又找不到文件效率低?工作流程帮你优化起来~~~~
前端工作流程(多方交互篇) 新的网页: 1.跟美工沟通,跟产品沟通,跟后台沟通.前两者主要是页面样式.后者主要是表单交互.用哪个框架之类的. 2.实现.(写清楚哪块是用什么验证方式的)→ 给后台. 3 ...
- 畅通工程续(Dijkstra算法)
对Dijkstra算法不是很熟悉,写一下思路,希望通过写博客加深理解 Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路.不过路多了也不好,每次要从一个城镇到另一个城镇时, ...
- Eclipse使用技巧总结(一)
一.建立工作空间 如上图所示,可以建立新的工作空间,或者切换工作空间. 二.导入导出工作空间配置 三.设置行号 如图,用鼠标在坐变阴影部分右击弹出菜单,选中Show Line Numbers一项. 四 ...
- 【转】CentOS 6.5 生产环境优化指南
原文链接:https://www.deepwebcn.com/82.html centos6.5 CentOS 6.5 系统安装之后并不能立即投入生产环境使用,常常需要先经过我们运维人员的优化才行.优 ...
- HDU 4121
http://www.bnuoj.com/v3/problem_show.php?pid=10277 //#pragma comment(linker, "/STACK:16777216&q ...
- git常用命令2
一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r ...