- //翻转字符串中的字母字符
- void SwapChar(char &a, char &b)
- {
- char tmp = a;
- a = b;
- b = tmp;
- return;
- }
- bool IsLatinChar(char ch)
- {
- if (ch >= 'a' && ch <= 'z')
- return true;
- else
- return false;
- }
- bool SwapLatinStrOrder(char *str)
- {
- int len = strlen(str);
- int i, j;
- int iBegin = -1, iEnd = len;
- while (1)
- {
- for (i=iBegin+1; i<len; i++)
- {
- if (IsLatinChar(str[i]))
- {
- iBegin = i;
- break;
- }
- }
- if (i==len)
- {
- break;
- }
- for (j=iEnd-1; j>=0; j--)
- {
- if (IsLatinChar(str[j]))
- {
- iEnd = j;
- break;
- }
- }
- if (j<0)
- {
- break;
- }
- if (iBegin < iEnd)
- {
- SwapChar(str[iBegin], str[iEnd]);
- }
- else
- {
- break;
- }
- }
- return true;
- }
- int main()
- {
- char str[] = "1w4rt,5t7?9u";
- printf("1: %s/n", str);
- SwapLatinStrOrder(str);
- printf("2: %s/n", str);
- return 1;
- }
翻转字符串中的字母字符
最新推荐文章于 2021-04-13 17:36:54 发布
本文介绍了一个简单的C语言程序,该程序可以实现对字符串中所有字母字符的翻转操作,即保持非字母字符位置不变,仅对字母字符进行顺序反转。通过定义辅助函数SwapChar和IsLatinChar来完成字符交换及判断是否为小写字母的任务。
摘要由CSDN通过智能技术生成