使用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语言将字符串中的字符反向排列-创新互联
网站路径:http://azwzsj.com/article/dpjjig.html