C语言判断字符串是否旋转过
//方法一
//每次左旋一次,判断旋转之后字符串是否与目标字符串是否一致
//旋转一圈 没有找到返回0
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h> void left_rotate(char *str, int k)
{
int len = strlen(str);
k %= len;//减少重复次数 char temp = ;
char *cur = str;
while (k--)
{ //左旋一次
temp = *str;
cur = str;
while (*(cur + ) != '\0')
{
//每个字符向前推一个
*cur = *(cur + );
cur++;
} *cur = temp;
}
} int is_rotate(char *dest, char* src)
{
if (strlen(dest) != strlen(src))
{
printf("不是旋转过的!\n");
return ;
}
if (!strcmp(dest, src))
{
printf("旋转过的!\n");
return ;
} int k = strlen(dest);
k--;
while (k--)
{
//每次旋转一次 判断
left_rotate(src, );
//判断旋转之后的内容是否和目标一致
if (!strcmp(dest, src))
{
printf("旋转过的!\n");
return ;
}
}
printf("不是旋转过的!\n");
return ; } //方法二 dest--->abcd 把目标串拼接相同的内容abcdabcd 判断源串是否为目标串的子串
// src---->cdab
int is_rotate02(char *dest, char* src)
{
if (strlen(dest) != strlen(src))
{
printf("不是旋转过后的!\n");
return ;
}
strncat(dest, dest,strlen(dest));
if (strstr(dest, src) != NULL)
{
printf("是旋转过后的!\n");
return ;
}
printf("不是旋转过后的!\n");
return ; } int main()
{
char dest[] = "sssss";
char src[] = "avdasf";
is_rotate02(dest, src); system("pause");
return ;
}
C语言判断字符串是否旋转过的更多相关文章
- C语言判断字符串是否是 hex string的代码
把写内容过程中经常用到的一些内容段备份一下,如下内容内容是关于C语言判断字符串是否是 hex string的内容. { static unsigned int hex2bin[256]={0}; me ...
- c语言 判断字符串长度 实现
/* 首先明白答案的本质(该函数)是一个计数器该计数器用for循环来实现实现对一串字符串的计数字符串以空格开头 不计算空格 计算空格后的数字直到遇到\0结束.num计算器字符串不以空格结束 计算空格后 ...
- Swift3.0语言教程比较、判断字符串
Swift3.0语言教程比较.判断字符串 Swift3.0语言教程比较.判断字符串,在一个程序中字符串很多时,常常会做的操作就是对这些字符串进行比较和判断.本小节将讲解这些内容. 1.不区分大小写比较 ...
- c语言判断是否是utf8字符串,计算字符个数
#include <stdio.h> #include <string.h> #include <stdlib.h> /********************** ...
- C语言:判断字符串是否为回文,-函数fun将单向链表结点数据域为偶数的值累加起来。-用函数指针指向要调用的函数,并进行调用。
//函数fun功能:用函数指针指向要调用的函数,并进行调用. #include <stdio.h> double f1(double x) { return x*x; } double f ...
- iOS开发-OC语言 (三)字符串
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 24.0px "PingFang SC" } p ...
- mybatis if test 判断字符串的坑
今天调试一个非常简单的test判断字符串查询语句,怎么调试都是不好用,后来百度才发现,是我写的test标签写错了,我写成: <if test="record.current != nu ...
- mybatis if标签判断字符串相等
mybatis 映射文件中,if标签判断字符串相等,两种方式: 因为mybatis映射文件,是使用的ognl表达式,所以在判断字符串sex变量是否是字符串Y的时候, <if test=" ...
- PHP判断字符串的包含
PHP语言是一个功能强大的嵌入式HTML脚本语言,它的易用性让许多程序员选择使用.PHP判断字符串的包含,可以使用PHP的内置函数strstr,strpos,stristr直接进行判断.也可以通过ex ...
随机推荐
- Last_SQL_Error: Error 'Can't drop database 'ABC'; database doesn't exist' on query. Default database: 'ABC'. Query: 'drop database ABC'
查看从库状态发现报错: show slave status\G; 发现是主库上删除了一个数据库,但是从库上面没有,从库执行这个语句的时候失败报错. 解决方法: 停止从库 stop slave; 创建语 ...
- Memory Leak Detection in C++
原文链接:http://www.linuxjournal.com/article/6556?page=0,0 An earlier article [“Memory Leak Detection in ...
- ZT 3.1 依赖倒置原则的定义
设计模式精解-GoF 23 种设计模式解析附 C++实现源码http://www.mscenter.edu.cn/blog/k_eckelP58 Template 模式获得一种反向控制结构效果,这也是 ...
- EDM邮件群发:群发邮件不进垃圾箱的独家秘笈
EDM邮件群发想要群发的邮件避免进入垃圾箱,不仅需要优化邮件内容和主题,管理收件人邮箱列表,还要有多服务器IP分流技术,控制发信速度,打乱收件人列表等手段,当然更少不了借助专业的邮件群发平台譬如U-M ...
- C# 解决组合优化问题
Google Optimization Tools介绍 Google Optimization Tools(OR-Tools)是一款专门快速而便携地解决组合优化问题的套件.它包含了: 约束编程求解器. ...
- poj 1159 Palindrome 【LCS】
任意门:http://poj.org/problem?id=1159 解题思路: LCS + 滚动数组 AC code: #include <cstdio> #include <io ...
- 备份&添加无线网络配置
netsh wlan export profile key=clear folder=c:\ #备份 (ls c:\*.xml).FullName|%{netsh wlan add profile f ...
- mavan下scala编译中文乱码的问题.以及内存溢出问题解决
网上都没有找到我这个问题.都是自己解决的.也不知道后来者能不能遇到 关键字: java.lang.StackOverflowError scala not found scala <config ...
- unittest单元测试框架之测试环境的初始化与还原(fixture)(五)
1.方法一:针对每条测试用例进行初始化与还原 import unittest from UnittestDemo.mathfunc import * class TestMathFunc(unitte ...
- LeetCode 中级 - 组合总和(105)
给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的数字可以无限制重复被选 ...