1.字符串翻转(Reverse)函数StringReverse()实现
//使用下标法
void StringReverse(char str[])
{
//int len = StringLenght(str);
//求字符串长度
int len=0;
while (str[len])
++len;
for (int i = 0; i < len/2; ++i)
{
char tmp = str[i];
str[i] = str[len - 1 - i];
str[len - 1 - i] = tmp;
}
}
//使用指针法
void StringReverse(char *str)
{
char* pEnd = str;
while (*++pEnd)
;
while (--pEnd-str>0)
{
char t=*str;
*str = *pEnd;
*pEnd = t;
++str;
}
}
2.字符串小写字母转大写字母函数StringUppper()函数实现
//使用下标法
void StringUpper(char str[])
{
int i = 0;
while (str[i])
{
if (str[i] >= 'a'&&str[i] <= 'z')
str[i] -= 'a' - 'A';
++i;
}
}
//使用指针法
void StringUpper(char* str)
{
while (*str)
{
if (*str >= 'a'&&*str <= 'z')
*str -= 'a' - 'A';
++str;
}
}
3.字符串大写字母转小写字母函数StringLower()函数实现
//使用下标法
void StringLower(char str[])
{
int i = 0;
while (str[i])
{
if (str[i] >= 'A'&&str[i] <= 'Z')
str[i] += 'a' - 'A';
++i;
}
}
//使用指针法
void StringLower(char* str)
{
while (*str)
{
if (*str >= 'A'&&*str <= 'Z')
*str += 'a' - 'A';
++str;
}
}
4.字符串中指定字符查找(Find)函数StringFind函数实现
//在传入的str字符串中查找字符c,找到则返回字符c在字符串中相应的索引位置,否则返回-1
//使用下标法
int StringFind(const char str[], const char c)
{
int i = 0;
while (str[i])
{
if (str[i] == c)
return i;
++i;
}
return -1;
}
//使用指针法
int StringFind(const char* str, const char c)
{
int i = 0;
while (*str)
{
if (*str == c)
return i;
++i;
++str;
}
return -1;
}
5.int数组冒泡排序算法实现
//冒泡排序,从小到大排序,左到右冒泡
void Sort(int array[], int n)
{
for(int i=0;i<n-1;++i)
for (int j = 0; j < n - i - 1; ++j)
{
if (array[j] > array[j + 1])
{
int tmp = array[j];
array[j] = array[j + 1];
array[j + 1] = tmp;
}
}
}
四种冒泡排序请参考: