使用c语言将字符串中的字符反向排列-创新互联

目录

站在用户的角度思考问题,与客户深入沟通,找到应城网站设计与应城网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计制作、成都网站建设、企业官网、英文网站、手机端网站、网站推广、域名注册雅安服务器托管、企业邮箱。业务覆盖应城地区。

学习目标:

学习内容:

  条件:

  代码内容:

函数解法:

递归解法:

学习时间:

学习产出:

学习引用:


学习目标:

  了解递归和函数,以及指针的应用,并完成条件


学习内容:

  函数,递归,指针,以代码形式讲解

  条件:

1.将字符串中的字符反向排列,不是一一打印

2.不能使用库函数

3.使用两种方法       

  代码内容: 函数解法:
#define _CRT_SECURE_NO_WARNINGS 1
//条件:将字符串中的字符反向排列,不是一一打印,不能使用库函数

#includeint j_s(char* x)//自定义strlen
{
	int c = 0;
	while (*x++ != '\0')//字符串后自带\0
	{
		c++;
	}
	return c;
}

void f_x(char* ch)//取字符串地址
{
	int j = j_s(ch);//计算字符串长度
	int l = 0;//左边
	int r = j-1;//右边
	char f[20] = { 0 };//空数组
	while (l< r)
	{
		*f = ch[l];
		ch[l] = ch[r];
		ch[r] = *f;
		l++;
		r--;//下标计算交换
	}
	printf("%s\n", ch);//输出结果
}

int main(void)
{
	char ch[20] = { 0 };
	scanf("%s", ch);//输入

	f_x(ch);

	return 0;
}

递归解法:
#define _CRT_SECURE_NO_WARNINGS 1
//条件:将字符串中的字符反向排列,不是一一打印,不能使用库函数

#includeint j_s(char* x)//自定义strlen
{
	if (*x != '\0')
	{
		return 1 + j_s(x + 1);//个数
	}
	else
	{
		return 0;
	}
}

void f_x(char* ch)//取字符串地址
{
	int j = j_s(ch);//计算字符串长度
	char f[20] = { 0 };//空数组
	*f = *ch;//赋值空地址
	*ch = ch[j - 1];//最后一位放第一
	ch[j - 1] = '\0';//字符串最后赋值
	if (j_s(ch + 1) >= 2)//地址加一位
	{
		f_x(ch + 1);//输出下一位
	}
	ch[j - 1] = *f;
}

int main(void)
{
	char ch[20] = { 0 };
	scanf("%s", ch);//输入

	f_x(ch);

	printf("%s\n", ch);
	return 0;
}

注意指针地址应用,递归的方法比函数的难理解一点


学习时间:

  大概1个小时左右

  注意思路和画图步骤


学习产出:

  了解递归和函数,以及指针的应用

  代码熟练学习

  在线云笔记重点修改


学习引用:

  根据以往学习内容,灵活应用改变

使用自写(strlen)函数实现计算字符串长度

函数的嵌套调用和链式访问

给出一个数,要求将他翻转

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧

当前名称:使用c语言将字符串中的字符反向排列-创新互联
标题网址:https://www.cdcxhl.com/article6/dpjjig.html

成都网站建设公司_创新互联,为您提供网站维护网站设计公司网站建设网站导航微信公众号定制网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网站建设