exercise14
//#include <stdio.h> //#include <stdlib.h> // ////1.实现一个函数,可以左旋字符串中的k个字符。 ////ABCD左旋一个字符得到BCDA ////ABCD左旋两个字符得到CDAB // //void left_move(char *p, int num) //{ // int i = 0; // for (i = 0; i < num; i++) // { // char tmp = *p; // int j = 0; // while (*(p + 1 + j)) // { // *(p + j) = *(p + 1 + j); // j++; // } // *(p + j) = tmp; // } //} // //int main() //{ // char arr[10] = "ABCD"; // left_move(arr, 1); // printf("左旋后的字符串:%s\n", arr); // // system("pause"); // return 0; //} //.判断一个字符串是否为另外一个字符串旋转之后的字符串。 //例如:给定s1 = AABCD和s2 = BCDAA,返回1,给定s1 = abcd和s2 = ACBD,返回0. #include <stdio.h> #include <windows.h> #include <string.h> int judge(char str1[], char str2[]) { int i = 0; int j = 0; int len = strlen(str1); for (j = 1; j <= len; j++) { { int tem = str1[0]; for (i = 0; i < len - 1; i++) { str1[i] = str1[i + 1]; } str1[len - 1] = tem; } if (0 == strcmp(str1, str2)) { return 1; } } return 0; } int main() { char s1[10] = "AABCD"; char s2[10] = "BCDAA"; printf("s1 = %s\n", s1); printf("s2 = %s\n", s2); printf("%d\n", judge(s1, s2)); system("pause"); return 0; }