首页 > 其他分享 >数组-回文字符的判断

数组-回文字符的判断

时间:2024-11-29 09:02:43浏览次数:6  
标签:字符 20 数组 索引 str 字符串 回文

#include<stdio.h>
#include<string.h>

int main(){
    char str[21]; // 声明一个字符数组,用于存储输入的字符串,长度为20加上一个结束符'\0'
    int i, k; // 声明两个整型变量,用于索引和比较字符串

    // 读取用户输入的字符,直到遇到换行符或数组长度达到20
    i = 0; // 初始化索引变量i为0
    while((str[i] = getchar()) != '\n' && i < 20){
        i++; // 索引自增,用于读取下一个字符
    }
    str[i] = '\0'; // 在字符串末尾添加字符串结束符'\0'

    // 初始化变量k为0,i为字符串末尾的索引(最后一个字符的索引)
    k = 0;
    i--;

    // 使用双指针方法比较字符串的前后字符是否相同
    while(k < i){
        if(str[k] != str[i]){ // 如果前后字符不同,则跳出循环
            break;
        }
        k++; // 前指针向后移动
        i--; // 后指针向前移动
    }

    // 如果k大于或等于i,说明所有对应的字符都相同,字符串是回文
    if(k >= i){
        printf("YES"); // 打印"YES",表示字符串是回文
    } else {
        printf("NO"); // 打印"NO",表示字符串不是回文
    }
    return 0; // 程序结束,返回0
}

标签:字符,20,数组,索引,str,字符串,回文
From: https://blog.csdn.net/2401_87781924/article/details/144126768

相关文章

  • javaScript中对字符串操作的方法
    获取字符串长度length属性:可以获取字符串中字符的个数。例如,letstr="hello";console.log(str.length);,会输出 5。访问字符索引访问:可以通过索引(位置)来访问字符串中的单个字符。字符串中的字符索引从 0 开始。例如,letstr="world";console.log(str[0]);,会输出 w。......
  • ESC字符背后的故事(27 <> 033 | x1B ?)
    ANSI不可见字符转义,正确的理解让记忆和书写变得丝滑惬意。(笔记模板由python脚本于2024年11月26日15:05:33创建,本篇笔记适合python基础扎实的coder翻阅)【学习的细节是欢悦的历程】Python官网:https://www.python.org/Free:大咖免费“圣经”教程《python完全......
  • 【每日一题】3250. 单调数组对的数目 I
     题目:给你一个长度为 n 的 正 整数数组 nums 。如果两个 非负 整数数组 (arr1,arr2) 满足以下条件,我们称它们是 单调 数组对:两个数组的长度都是 n 。arr1 是单调 非递减 的,换句话说 arr1[0]<=arr1[1]<=...<=arr1[n-1] 。arr2 是单调 非递......
  • 泷羽sec-shell编程(2)永久环境变量和字符串显位 学习笔记
      声明!学习视频来自B站up主**泷羽sec**有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页[......
  • 40【字符】北理乐学
    #include<stdio.h>intmain(){   inti,j,flag=0;   chara[100];   gets(a);   for(i=0;a[i]!='\0';i++)   {      for(j=0;j<i;j++)      {         if(a[j]==a[i])         {        ......
  • 力扣33.搜索旋转排序数组
    题目描述题目链接题目链接整数数组 nums 按升序排列,数组中的值 互不相同 。在传递给函数之前,nums 在预先未知的某个下标 k(0<=k<nums.length)上进行了 旋转,使数组变为 [nums[k],nums[k+1],...,nums[n-1],nums[0],nums[1],...,nums[k-1]](下标 从0开始 ......
  • 日期字符格式yyyyMMddHHmmss转换字符串或LocalDateTime对象
    日期字符格式yyyyMMddHHmmss转换字符串或LocalDateTime对象字符串yyyyMMddHHmmss转换字符串 格式publicstaticStringstringToDateStringSimpleV2(Stringstr){//使用新的方式转换时间LocalDateTimedate=LocalDateTime.parse(str,DateTimeForma......
  • 字符串篇
    字符串跳-反转字符串我写的代码classSolution{publicvoidreverseString(char[]s){intlen=s.length;chartemp;intleft=0,right=len-1;while(left<right){temp=s[left];s[left]=s......
  • 2024-11-28:边界元素是最大值的子数组数目。用go语言,给定一个正整数数组 nums,需要找到
    2024-11-28:边界元素是最大值的子数组数目。用go语言,给定一个正整数数组nums,需要找到满足子数组中第一个和最后一个元素都是该子数组中的最大值的子数组数量。输入:nums=[1,4,3,3,2]。输出:6。解释:总共有6个子数组满足第一个元素和最后一个元素都是子数组中的最大值:......
  • Day49 | 动态规划 :线性DP 判断子序列&&两个字符串的删除操作
    Day49|动态规划:线性DP判断子序列&&两个字符串的删除操作动态规划应该如何学习?-CSDN博客动态规划学习:1.思考回溯法(深度优先遍历)怎么写注意要画树形结构图2.转成记忆化搜索看哪些地方是重复计算的,怎么用记忆化搜索给顶替掉这些重复计算3.把记忆化搜索翻译成动态规......