判断字符串旋转后是否相等

叁歲伎倆 2022-11-12 02:57 314阅读 0赞

在这里插入图片描述

旋转后是否相等

还是主要运用调用函数,判断相等输出1,否则输出0即可,在这个代码里面调用了strlen ;strstr;strncat;的字符串函数,主要还是要对这些函数有一定的熟练度就可以.

如下面例题:

  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include<stdio.h>
  3. #include<stdlib.h>
  4. #include<assert.h>
  5. #include<string.h>
  6. #include <stdio.h>
  7. //====判断旋转后的字符串是否与另外一个字符串相等
  8. int find(char arr[], char*p){ //创建函数
  9. int n = strlen(arr); //分别求长度
  10. int m = strlen(p);
  11. if (m != n){ //如果相等,则直接结束
  12. //这里主要是防止玩家非法输入,所以要把每一种的可能性写完
  13. return 0;
  14. }
  15. strncat(arr, arr, n); //在字符串的最后加n个字符
  16. if (strstr(arr, p) == NULL){ //搜索是否出现
  17. return 0;
  18. }
  19. else
  20. return 1;
  21. }
  22. int main(){
  23. //char arr[20] = "abcd";
  24. //char*p = "ABCD";
  25. char arr[20]="AABCD";
  26. char*p="BCDAA";
  27. int ret = find(arr, p); //调用函数
  28. if (ret == 1){
  29. printf("1\n");
  30. }
  31. else if (ret == 0){
  32. printf("0\n");
  33. }
  34. system("pause");
  35. }

总体来说不难,还是考验你对于字符串函数的知道程度和对其的理解,多敲代码,加油!!!

发表评论

表情:
评论列表 (有 0 条评论,314人围观)

还没有评论,来说两句吧...

相关阅读

    相关 java判断字符串是否相等

    对字符串对象进行比较不能简单地使用比较运算符"==",因为比较运算符比较的是两个字符串的地址是否相同。即使两个字符串的内容相同,两个对象的内存地址是不同的,使用比较运算符仍然会