C语言字符串翻转(Reverse)、小写字母转大写、大写字母转小写、查找、int数组排序算法实现

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;
			}
		}
}

四种冒泡排序请参考:

C语言实现四种冒泡排序

发布了21 篇原创文章 · 获赞 20 · 访问量 2989

猜你喜欢

转载自blog.csdn.net/weixin_42844163/article/details/104067541
今日推荐