函数题:

  6-1 查找子串:

裁判测试程序样例:

#include <stdio.h>
#define MAXS 30 char *search(char *s, char *t);
void ReadString( char s[] ); /* 裁判提供,细节不表 */ int main()
{
char s[MAXS], t[MAXS], *pos; ReadString(s);
ReadString(t);
pos = search(s, t);
if ( pos != NULL )
printf("%d\n", pos - s);
else
printf("-1\n"); return 0;
} /* 你的代码将被嵌在这里 */

输入样例1:

The C Programming Language
ram

输出样例1:

10

输入样例2:

The C Programming Language
bored

输出样例:

-1

代码:

char *search(char *s, char *t)
{
int i=0,j=1;
while(s[i]!='\0')
{
if(s[i] == t[0])
{
j=1;
while(s[i+j] == t[j] && t[j] != '\0')
{
j++;
}
if(t[j]=='\0')
return s+i;
}
i++;
}
return NULL;
}

编程题:

  7-1 删除字符串中的子串:

输入样例:

Tomcat is a male ccatat
cat

输出样例:

Tom is a male 

代码:

#include<stdio.h>
#include<string.h>
int main()
{
char s1[81]={0},s2[81]={0},s3[81];
gets(s1);
gets(s2);//gets()函数读取一行输入,遇到会车结束
while(strstr(s1, s2)!=NULL)//strstr用于判断s1串中是否含有s2串
{
int len1=strlen(s1);
int len2=strlen(s2);
strcpy(s3, strstr(s1, s2));//将目标串提取出来丙拷贝到s3中
int len3=strlen(s3);
strcpy(s1+len1-len3, s3+len2);
}
int l=strlen(s1);//遍历输出,其实可以用puts()函数,,,
for(int i=0;i<l;i++)
{
printf("%c",s1[i]);
}
return 0;
}

  7-2 字符串循环左移:

输入样例:

Hello World!
2

输出样例:

llo World!He

代码:

#include<stdio.h>
#include<string.h>
int main()
{
char s1[101]={0}, s2[101]={0};
int index;
gets(s1);
scanf("%d", &index);
if(index>strlen(s1))//判断 :index大于长度的话,取余
{
index = index%strlen(s1);
}
int len = strlen(s1);
int j=0;
for(int i=index;i<len;i++,j++)
{
s2[j] = s1[i];//先将左移部分以外的部分依次填入型字符输出中,
}
//j-=1;
for(int i=0;i<index;i++,j++)
{
s2[j] = s1[i];//再讲左移部分补到结尾
}
//s2[j]='\0';
puts(s2);
return 0;
}

  7-3 最长对称子串:

输入样例:

Is PAT&TAP symmetric?

输出样例:

11

代码:

#include<stdio.h>
#include<string.h>
int main()
{
char s1[1001]={0},s2[1001]={0};
int len;
int max=0;
gets(s1);
len = strlen(s1);
int k;
for(int i=0;i<len;i++)//遍历
{
for(int j=0;j<len-i;j++)
{
for(k=0;k<(i+1)/2;k++)//对半进行对比
{
if(s1[j+k] != s1[j+i-k])//不想等就退出
break;
}
if(k<(i+1)/2)//小于则继续
continue;
else
{
max=i+1;
}
}
}
printf("%d\n", max);
return 0;
}

最新文章

  1. 面试准备 - HashTable 的C#实现 开放地址法
  2. 第三节:视图(Views)和模板(Templates)
  3. How to create water Ripple effect using HTML5 canvas
  4. 在Web中如何使用Windows控件(ActiveX)[转]
  5. 50种方法优化SQL Server数据库查询
  6. osg学习笔记2, 命令行参数解析器ArgumentParser
  7. Java NIO框架Netty课程(一) – Hello Netty
  8. 十三、 Spring Boot 启动加载数据 CommandLineRunner
  9. 最新的Windows环境搭建zeroMQ并使用java代码运行zeromq详细教程
  10. mysql查找字段在哪个表中
  11. Python伊始——From Boring to Amazing
  12. php 重要函数归集
  13. input输入框只能输入数字和 小数点后两位
  14. 若父设置了overflow: hidden;子如何不受影响
  15. Android系统分区理解及分区目录细解【转】
  16. 【转载四】Grafana系列教程–Grafana基本概念
  17. 【SPL标准库专题(6)】 Datastructures:SplPriorityQueue
  18. [WEB面试题] web前端面试题JavaScript第一弹,个人整理部分面试题汇总
  19. JavaScript浏览器对象模型(BOM)之window对象
  20. 2018 ACM-ICPC World Finals - Beijing F.Go with the Flow

热门文章

  1. 11g RAC 集群数据库不能跟随集群启动
  2. C# 学习第七天
  3. 旁站和C段的简要解释
  4. Python将word文档批量转PDF
  5. jq再次封装自己的ajax &amp; js 回调函数 &amp; js方法注释&amp;js 全局屏蔽点击事件及a标签
  6. 使用NPOI读取Excel表格内容并进行修改
  7. 在 xunit 测试项目中使用依赖注入
  8. Android 安全研究 hook 神器frida学习(一)
  9. 实体类转json 和 json转实体类
  10. Flash Player的终章——赠予它的挽歌