#include <stdio.h>
#include <string.h>
//字符串1是否包含字符串2,在同一行
int inStr(char *str1, char *str2)
{
int i, j, str1len = strlen(str1), str2len = strlen(str2);
int flag = str2len;
int temp;
for (i = 0; i < str2len; i++)
{
for (j = 0; j < str1len; j++)
{
temp = abs(str2[i] - str1[j]);
if ((str2[i] == str1[j]) || temp==32)
{
flag--;
break;
}
}
}
if (flag == 0) return 1;
else return 0;
}
char** findWords(char** words, int wordsSize, int* returnSize) {
char* keyBoardStr[] = { "qwertyuiop","asdfghjkl","zxcvbnm" };
char** result = (char**)malloc(wordsSize*sizeof(char*));
int i,flag;
if (words == NULL)
return NULL;
for (i = 0; i<wordsSize; i++)
result[i] = (char*)malloc(100 * sizeof(char));
for (i = 0; i < wordsSize; i++)
{
if (inStr(keyBoardStr[0], words[i]))
flag = 1;
else if (inStr(keyBoardStr[1], words[i]))
flag = 1;
else if (inStr(keyBoardStr[2], words[i]))
flag = 1;
if (flag == 1)
{
result[*returnSize] = words[i];
*returnSize += 1;
}
flag = 0;
}
return result;
}
void main() {
char* input[4] = { "Hello", "Alaska", "Dad", "Peace" };
char** result = (char**)malloc(4 * sizeof(char*));
int len=0;
result = findWords(input,4,&len);
printf("%s\n", result[0]);
printf("%s\n", result[1]);
printf("%d\n", len);
system("pause");
}
Keyboard Row
最新推荐文章于 2022-07-23 12:51:13 发布