用c语言写一个字符串查找函数,不太会。
一个字符查找函数并返回其所在位置,要求使用二分法进行查找
int strFind(char * a1, char ch)
求大佬帮助!!!https://ask.csdn.net/questions/719181
int 查字符位置(char* 字符串, char 字符)
{
int 头(0), 尾 = strlen(字符串);
while (true)
{
if (尾 < 头) break;
if (字符串[头] != 字符)++头; else return 头;
if (字符串[尾] != 字符)--尾; else return 尾;
}
return -1;
}
int _tmain(int argc, _TCHAR* argv[])
{
/*str.length()和str.size()是用于求string类对象的成员函数
strlen(str) 是用于求字符串数组的长度,其参数是char*
std::cout << 查字符位置("asdfghjkl", 'a');
std::cout << 查字符位置("asdfghjkl", 's');
std::cout << 查字符位置("asdfghjkl", 'd');
std::cout << 查字符位置("asdfghjk", 'f');
std::cout << 查字符位置("asdfghjk", 'g');
std::cout << 查字符位置("asdfghjkl", 'h');
std::cout << 查字符位置("asdfghjkl", 'j');
std::cout << 查字符位置("asdfghjkl", 'k');
std::cout << 查字符位置("asdfghjk", 'l');*/
}
double 数取反(int 数)
{
int 取 = 数, 循 = 1, 环 = 数; double 反 = 0;
do
{
if ((取 /= 10))++循;
else if (环)
{
反 += (环 % 10)*pow(10, --循);
环 /= 10;
}
else break;
} while (true);
return 反;
}
string 字符反转(string 字符串, string 字符, int 序, int 数)
{
while (数 < (int)字符.length())
{
字符串[序 - 数 - 1] = 字符[数];
++数;
}
return 字符串;
}
int 查字符位置(char* 字符串, char 字符)
{
int 头(0), 尾 = strlen(字符串);
while (true)
{
if (尾 < 头) break;
if (字符串[头] != 字符)++头; else return 头;
if (字符串[尾] != 字符)--尾; else return 尾;
}
return -1;
}