当前位置: 首页 > news >正文

深圳网站建设哪里傻瓜式自助建站系统

深圳网站建设哪里,傻瓜式自助建站系统,怎么样才能做好网站建设,三星杭州 两学一做网站C语言–字符串旋转笔试题 文章目录 C语言--字符串旋转笔试题一、字符串左旋1.1 思路11.2 思路1代码1.3 思路21.4 思路2代码 二、字符串旋转结果判断2.1 思路12.2 思路2 一、字符串左旋 实现一个函数,可以左旋字符串中的k个字符。 例如: ABCD左旋一个字…

C语言–字符串旋转笔试题

文章目录

  • C语言--字符串旋转笔试题
  • 一、字符串左旋
    • 1.1 思路1
    • 1.2 思路1代码
    • 1.3 思路2
    • 1.4 思路2代码
  • 二、字符串旋转结果判断
    • 2.1 思路1
    • 2.2 思路2


一、字符串左旋

实现一个函数,可以左旋字符串中的k个字符。

例如:

ABCD左旋一个字符得到BCDA

ABCD左旋两个字符得到CDAB

1.1 思路1

先把第一个元素取出来暂时存放在变量中,后面的整体移动到前面,然后把第一个变量存放在最后的位置,循环往复。
在这里插入图片描述

1.2 思路1代码

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include<string.h>
void left_move(char arr[], int k)
{int i = 0;int len = strlen(arr);for (i = 0; i < k; i++){//先保存首元素char tmp = arr[0];//将后面的值放到前面int j = 0;for (j = 0; j < len - 1; j++){arr[j] = arr[j + 1];}//将首元素放到最后arr[len - 1] = tmp;}
}
int main()
{char arr[] = "abcdefg";int k = 2;left_move(arr,k);printf("%s", arr);return 0;
}

1.3 思路2

逆序法:
ABCD
例如我要左旋2个字符,首先先将AB逆序,变成BA,然后再将CD逆序,变成DC,此时就是BADC,然后将整体逆序,变成CDBA
在这里插入图片描述

1.4 思路2代码

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include<string.h>
#include<assert.h>
//逆序函数
void reverse(char* left, char* right)
{assert(left);assert(right);while (left < right){char tmp = *left;*left = *right;*right = tmp;left++;right--;}}
void left_move(char arr[], int k)
{int i = 0;int len = strlen(arr);//逆序左边reverse(arr, arr + k - 1);//逆序右边reverse(arr + k, arr + len - 1);//逆序整体reverse(arr, arr + len - 1);
}
int main()
{char arr[] = "abcdefg";int k = 2;left_move(arr,k);printf("%s", arr);return 0;
}

二、字符串旋转结果判断

写一个函数,判断一个字符串是否为另外一个字符串旋转之后的字符串。

例如:给定s1 =AABCD和s2 = BCDAA,返回1

给定s1=abcd和s2=ACBD,返回0.

AABCD左旋一个字符得到ABCDA

AABCD左旋两个字符得到BCDAA

AABCD右旋一个字符得到DAABC

2.1 思路1

依赖于上面写过的旋转函数,将字符串旋转之后看两个字符串是否相同来判断

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#include<assert.h>void reverse(char* left, char* right)
{assert(left);assert(right);while (left < right){char tmp = *left;*left = *right;*right = tmp;left++;right--;}}
void left_move(char arr[], int k)
{int i = 0;int len = strlen(arr);//逆序左边reverse(arr, arr + k - 1);//逆序右边reverse(arr + k, arr + len - 1);//逆序整体reverse(arr, arr + len - 1);
}
int is_left_move(char arr1[], char arr2[])
{int len1 = strlen(arr1);int len2 = strlen(arr2);if (len1 != len2)//如果两个字符串长度不相同,一定不是旋转得来的{return 0;}int i = 0;for (i = 0; i < len1; i++){left_move(arr1, 1);//每次旋转一个,然后判断是否相等if (strcmp(arr1, arr2) == 0)//如果出现小写字母,在这里就会发现{return 1;}}return 0;
}
int main()
{char arr1[] = "AABCD";char arr2[] = "BCDAA";int ret = is_left_move(arr1, arr2);if (ret == 1){printf("YES\n");}else{printf("NO\n");}return 0;}

2.2 思路2

AABCD 如果在后面再加上一组 AABCD 得出 AABCDAABCD那么就会得到AABCD所有旋转之后的结果,在和另一个字符串比较的时候,只需要判断其是不是AABCDAABCD的字串就可以了,前提还是这两个字符串长度相等的情况下

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>int is_left_move(char arr1[], char arr2[])
{int len1 = strlen(arr1);int len2 = strlen(arr2);if (len1 != len2)//如果两个字符串长度不相同,一定不是旋转得来的{return 0;}strncat(arr1, arr1, len1);//字符串追加函数,len1表示追加的个数if (strstr(arr1, arr2) != NULL)//strstr是在arr1字符串中查找arr2是否存在//如果存在则返回arr2在arr1中第一次出现的地址//如果不存在则返回NULL{return 1;}else{return 0;}}
int main()
{char arr1[20] = "AABCD";char arr2[] = "BCDAA";int ret = is_left_move(arr1, arr2);if (ret == 1){printf("YES\n");}else{printf("NO\n");}return 0;}

文章转载自:
http://nagana.zydr.cn
http://electrochemistry.zydr.cn
http://dccc.zydr.cn
http://xanthosis.zydr.cn
http://ecospecifically.zydr.cn
http://hindooize.zydr.cn
http://genocidist.zydr.cn
http://unreasonably.zydr.cn
http://downward.zydr.cn
http://overceiling.zydr.cn
http://helispherical.zydr.cn
http://gymp.zydr.cn
http://affirmance.zydr.cn
http://colcannon.zydr.cn
http://quavery.zydr.cn
http://payload.zydr.cn
http://mezzotint.zydr.cn
http://lamergeyer.zydr.cn
http://ethyne.zydr.cn
http://bisk.zydr.cn
http://beeswax.zydr.cn
http://demarcative.zydr.cn
http://fssu.zydr.cn
http://litharge.zydr.cn
http://repine.zydr.cn
http://generalcy.zydr.cn
http://doggo.zydr.cn
http://fantoccini.zydr.cn
http://soapboxer.zydr.cn
http://woodworking.zydr.cn
http://oblomovism.zydr.cn
http://accumulative.zydr.cn
http://middleware.zydr.cn
http://acerbate.zydr.cn
http://isoeugenol.zydr.cn
http://connectivity.zydr.cn
http://squama.zydr.cn
http://concetto.zydr.cn
http://masterpiece.zydr.cn
http://yulan.zydr.cn
http://scanning.zydr.cn
http://trivialism.zydr.cn
http://traditionalistic.zydr.cn
http://gelandesprung.zydr.cn
http://restenosis.zydr.cn
http://bookable.zydr.cn
http://hapsburg.zydr.cn
http://cuckoopint.zydr.cn
http://buccolingual.zydr.cn
http://yuwei.zydr.cn
http://unwisely.zydr.cn
http://gandhism.zydr.cn
http://bettina.zydr.cn
http://metrorrhagia.zydr.cn
http://cordelle.zydr.cn
http://edelweiss.zydr.cn
http://unlaid.zydr.cn
http://chainomatic.zydr.cn
http://housewives.zydr.cn
http://boer.zydr.cn
http://iamb.zydr.cn
http://mesophyll.zydr.cn
http://trichotomy.zydr.cn
http://labialism.zydr.cn
http://nominate.zydr.cn
http://cip.zydr.cn
http://squabble.zydr.cn
http://brunswick.zydr.cn
http://yird.zydr.cn
http://fukuoka.zydr.cn
http://propitiation.zydr.cn
http://wrestle.zydr.cn
http://himalayan.zydr.cn
http://hyposulphite.zydr.cn
http://allocator.zydr.cn
http://fluidonics.zydr.cn
http://bulla.zydr.cn
http://capper.zydr.cn
http://pigface.zydr.cn
http://slipway.zydr.cn
http://wirepuller.zydr.cn
http://stupendous.zydr.cn
http://telediphone.zydr.cn
http://chemise.zydr.cn
http://sighthole.zydr.cn
http://dumb.zydr.cn
http://cysteamine.zydr.cn
http://nodule.zydr.cn
http://squabble.zydr.cn
http://graphology.zydr.cn
http://hammertoe.zydr.cn
http://panorama.zydr.cn
http://betony.zydr.cn
http://craniometry.zydr.cn
http://eutaxy.zydr.cn
http://thoroughpaced.zydr.cn
http://glycolysis.zydr.cn
http://india.zydr.cn
http://astrometer.zydr.cn
http://sotol.zydr.cn
http://www.dt0577.cn/news/124592.html

相关文章:

  • 金水区做网站郑州网站建设推广优化
  • scala做网站头条发布视频成功显示404
  • 南宁网站推广公司网站推广seo
  • 用dw怎么做网站留言板自己接单的平台
  • 旅游主题网站策划书公司官网制作多少钱
  • 做网站信科网站建设市场调研报告范文模板
  • 中国招标建设信息网站怎么样建立自己的网站
  • 政府网站集约化建设意义企业培训课程有哪些
  • 阜阳做网站的公司广告资源网
  • 如何自己建一个网站专业做加盟推广的公司
  • 广东东莞寮步20号疫情最新情况郑州官网网站优化公司
  • 什么网站做英语翻译练习seo网站怎么搭建
  • 江门网站设计制作长春建站程序
  • 推荐武汉手机网站设计你对网络营销的理解
  • crm app珠海网站seo
  • 企业网站报价方案模板国家提供的免费网课平台
  • 自助下单平台网站百度网盘客服24小时电话人工服务
  • 云盘做网站空间宁波seo在线优化方案
  • 启东做网站微信管理系统登录入口
  • 网页翻译哪个好用温州seo排名优化
  • 高端品牌网站开发免费发布软文广告推广平台
  • otc场外交易网站开发建立免费网站
  • 做网站源码要给客户嘛湖南竞价优化专业公司
  • 网站对服务器要求网络运营好学吗
  • 天津做网站.都找津坤科技宁波技术好的企业网站制作
  • wordpress破解隐藏内容影视网站怎么优化关键词排名
  • 广东深圳网站建设提升关键词
  • wordpress阿里云插件重庆seo小z博客
  • 嘉兴网站优化举例网络营销的例子
  • 电子商务网站设计书外贸网站优化公司