C语言实现字符串逆序、倒置字符串(字符串逆序问题的升级)

本文介绍了两种字符串逆序的方法,包括使用新数组存储和直接指针交换,并提供了详细的代码实现。同时,针对单词倒置的问题,提出了解题思路和完整代码,实现了单词逆序而标点符号保持原位的功能。

一.字符串逆序

问题描述:

输入一个字符串str,将其内容颠倒过来,并输出。

数据范围0<len(str)<10000

输入描述:

输入一个字符串,可以有空格

输出描述:

输出逆序的字符串

输入样例:

I am a student

输出样例:

tneduts a ma I

方法一:创建一个新的数组用来存储原数组内的字符串(反向存储),将新的数组输出

利用循环的方式将原字符串数组中的元素反向存储在新创建的字符串数组中,之后输出新的字符串数组。

代码如下:

#include <stdio.h>
#include <string.h>
int main()
{
    char str[10000];//由于题目中要求的长度范围为0~10000,因此创建了长度为10000的数组
    char str2[10000];
    int i;
    gets(str);
    int size = strlen(str);
    for (i = 0; i < size; i++)
    
        str2[i] = str[size - i - 1];//利用新创建的数组来反向存储原数组中的数据
    
    str2[i] = 0;//确保输出结果的正确性
    puts(str);
    return 0;
}

得到输出结果为

评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Li_yizYa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值