c08_07.c

来自「这是编程之道C-C++中的源代码,很简练,可以用于相关教学和重新熟悉C-C++时」· C语言 代码 · 共 44 行

C
44
字号
#include <stdio.h>
void change(char *point);

int main()
{
	char	str[80];	/*定义一个字符数组*/
	char	*p;			/*定义字符指针,分别表示转换前、后字符串的首地址*/
	p = str;			/*p指向字符串*/

	printf("请输入一个字符串:\n");
	gets(p);			/*输入字符串*/
	change(p);			/*参数p告知函数要处理的字符串首地址*/
	printf("转换后的字符串是:\n");
	puts(p);

	return 0;
}

/*函数定义部分*/
void change(char *point)
{
	char	*q,*old;	/*定义两个字符指针,分别存放临时字符串和原字符串的首地址*/
	char	max;		/*定义一个字符变量,存放字符串中的最大字符*/

	old = point;		/*首先保存原字符串的首地址*/
	max = *point;		/*先设第一个字符为最大字符*/
	while (*point!='\0')	/*在字符串中求最大字符*/
	{
		if (max<*point)		/*求最大字符*/
		{
			max = *point;
			q = point;		/*q指针记录最大字符的位置*/
		}
		point++; 
	}
	while (q>old)			/*将最大字符前的字符后移一个字符位置*/
	{
		*q = *(q-1);		/*后移字符*/
		q--;
	}
	*old = max;				/*将首字符变为最大字符*/
	printf("\n字符串中最大的字符是:%c\n",max);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?