首页 > 其他分享 >【C语言练习(12)—反向输出字符串】

【C语言练习(12)—反向输出字符串】

时间:2024-12-19 18:00:02浏览次数:7  
标签:12 ++ len C语言 char int team 字符串

C语言练习(12)

文章目录


前言

  • 对于一个给定的字符串,反方向输出该字符串,本次给了循环和利用指针反向输出两种方法

题目

  • 给定一个字符串,计算该字符串的个数并反向输出
    例如给定字符串I Love Study则反向输出后为ydutS evoL I

题目解析

  • 求字符串的长度可用strlen()函数,但是使用时候要包含头文件string.h

  • 关键的一步就是进行首尾交换

team = s[i];用team 存储第一个字母
s[i] = s[len - 1 - i];用第一个字母放到最后一个字母位置
s[len - 1 - i] = team;最后一个字母放到第一个字母位置

在这里插入图片描述

  • 整体代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
int main()
{
    char s[100] = "I Love Study";
    int len = 0;
    len = strlen(s);
    printf("%d\n", len);
    int i = 0;
    char team;

    for (i = 0; i < len / 2; i++) {
        team = s[i];
        s[i] = s[len - 1 - i];
        s[len - 1 - i] = team;
    }
    printf("%s\n", s);
    return 0;
}
  • 采用指针定义解题程序
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>

int main()
{

    char s[] = "I Love Study";
    int len = 0;
    char *p = s;
    while (*p != '\0') {
        len++;
        p++;//p++实质上就是s[++]
    }
    printf("%d\n",len);

    int i = 0;
    char team;
    for (i = 0; i < len / 2; i++) {
        team = *(s+i);//当i=0时*(s+i)=0,*s代表字符串开头指针
        *(s + i) = *(s+len - 1 - i);
        *(s + len - 1 - i) = team;
    }
    printf("%s\n", s);
    return 0;
}

结果

代码如下(示例):

总结

  • 求字符串长度用strlen()函数,千万不要忘记头文件函数库string.h,在定义变量的类型时候要检查是否一致

标签:12,++,len,C语言,char,int,team,字符串
From: https://blog.csdn.net/weixin_56089319/article/details/144558988

相关文章

  • 初识C语言——C语言的常见概念(下)
    初识C语言——C语言的常见概念(下)在上一章,我们认识了C语言的概念、历史、使用方法。在对C语言有了初步的了解之后,我们可以来写下我们的第一个C语言程序啦!......
  • 12.19 CW 模拟赛 T2. 数
    思路赛时读错题了,虽然说读对了不一定能做出来,但是还是比较可惜首先阐述一下题意,对\(S\)数组进行插入和删除操作,每次询问让你用\(T\)中的质数组合出\(x\),然后将\(S\)中的数乘以\(x\)之后求最多的完全立方数个数那么显然的,我们对于每一个数,都可以拆成质......
  • Debian系统安装rtl8168_8125 千兆网卡和2.5g网卡
    0.适用范围rtl8168驱动适用于RTL8111B/RTL8111C/RTL8111D/RTL8111E/RTL8111F/RTL8111G/RTL8111H//RTL8118A/RTL8119i/RTL8111L/RTL8111K/RTL8111DP/RTL8111EP§/RTL8111FP/RTL8168B/RTL8168E/RTL8168Hrtl8125驱动适用于RTL8125/RTL8125B(G)1.查询驱动命令lspci-v......
  • 翻转字符串&翻转单词
    一、翻转字符串问题描述请实现⼀个算法,在不使⽤额外数据结构和储存空间的情况下,翻转⼀个给定的字符串(可以使⽤单个过程变量)。解题思路由于不允许使用额外的数据接口和存储空间,所以我们将⼀个字符串以中间字符为轴,前后翻转,也就是将str[len]赋值给str[0],将str[0]赋值str[len......
  • C语言基础-函数
    函数函数的概念函数:实现一定功能的,独立的代码模块,我们的函数一定是先定义,后使用使用函数的优势可以通过函数提供功能给别人使用,也可以使用别人提供的函数,减少代码量借助函数可以减少重复性的代码实现结构化(模块化)程序设计思想结构化设计思想:将大型的任务功能划分为相......
  • python的eval()函数的作用是将字符串转换成数值吗?
    不完全正确。Python的eval()函数的作用是将一个字符串作为Python表达式求值,并返回表达式的值。这意味着eval()可以处理各种数据类型和表达式,而不仅仅是将字符串转换成数值。例如:#将字符串转换为数值num_str="3+5"result=eval(num_str)print(result)#输出:8......
  • 华为OD E卷(100分)30-字符串变换最小字符串
    前言    工作了十几年,从普通的研发工程师一路成长为研发经理、研发总监。临近40岁,本想辞职后换一个相对稳定的工作环境一直干到老,没想到离职后三个多月了还没找到工作,愁肠百结。为了让自己有点事情做,也算提高一下自己的编程能力,无聊之余打算用一些大厂的编程题练练......
  • 【NLP 16、实践 ③ 找出特定字符在字符串中的位置】
    看着父亲苍老的白发和渐渐老态的面容希望时间再慢一些                                                ——24.12.19一、定义模型1.初始化模型①初始化父类super(TorchModel,self).__init__(): 调用父类nn.Mod......
  • 12.19 CW 模拟赛 赛时记录
    前言考试的时候只需要管考试的策略就行了,其他的想他干嘛看题一般来说,涨信心模拟赛都不会涨信心像一位故人出的题?\(\rm{T1}\)相信自己,冲一下\(\rm{T2}\)看不懂\(\rm{T3}\)博弈\(\rm{T4}\)困难\(\rm{T1}\)机房两青轴是真的蚌埠思路转化题意,对于\(N\)条线......
  • R语言的字符串操作
    【图书推荐】《R语言医学数据分析实践》-CSDN博客《R语言医学数据分析实践李丹宋立桓蔡伟祺清华大学出版社9787302673484》【摘要书评试读】-京东图书(jd.com)R语言医学数据分析实践-R语言的数据结构-CSDN博客在R语言中,字符串是一种表示文本数据的数据类型。字符串......