判断字符串旋转后是否相等
旋转后是否相等
还是主要运用调用函数,判断相等输出1,否则输出0即可,在这个代码里面调用了strlen ;strstr;strncat;的字符串函数,主要还是要对这些函数有一定的熟练度就可以.
如下面例题:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<string.h>
#include <stdio.h>
//====判断旋转后的字符串是否与另外一个字符串相等
int find(char arr[], char*p){ //创建函数
int n = strlen(arr); //分别求长度
int m = strlen(p);
if (m != n){ //如果相等,则直接结束
//这里主要是防止玩家非法输入,所以要把每一种的可能性写完
return 0;
}
strncat(arr, arr, n); //在字符串的最后加n个字符
if (strstr(arr, p) == NULL){ //搜索是否出现
return 0;
}
else
return 1;
}
int main(){
//char arr[20] = "abcd";
//char*p = "ABCD";
char arr[20]="AABCD";
char*p="BCDAA";
int ret = find(arr, p); //调用函数
if (ret == 1){
printf("1\n");
}
else if (ret == 0){
printf("0\n");
}
system("pause");
}
总体来说不难,还是考验你对于字符串函数的知道程度和对其的理解,多敲代码,加油!!!
还没有评论,来说两句吧...