首页 > 编程语言 >【C++】回文数判断(for循环,简易思路)

【C++】回文数判断(for循环,简易思路)

时间:2024-05-25 11:29:32浏览次数:21  
标签:字符 C++ 简易 字符串 长度 include strlen 回文

#include <stdio.h>   
#include <string.h>   
#include <iostream>
using namespace std;
int main()   
{   
    char a[1001];  
    int n, i, j;  
    
    cin>>a;           // 输入字符串,注意:这里不会处理空格  
  
    n = strlen(a);               // 获取字符串长度  
  
    // 只检查到字符串长度的一半(如果是奇数,则少检查一个字符)  
    for (i = 0, j = n - 1; i < n / 2; i++, j--) {  
        if (a[i] != a[j]) {      // 比较字符  
            cout<<"不是一个回文数!"<<endl;  
            return 0;  
        }  
    }  
  
    cout<<"是一个回文数!"<<endl;    // 如果循环结束没有打印"不是一个回文数!",则是回文  
    return 0;   
}

代码思路:

  1. 字符串输入:使用 cin>>a; 读取字符串,但它不会处理字符串中的空格。

  2. 字符串长度:strlen(a) 函数返回字符串 a 的长度,即它包含的字符数(不包括结尾的 \0)。

  3. 回文检查:使用两个索引 i 和 j 分别从字符串的开头和结尾开始,向中间移动。每次比较 a[i] 和 a[j] 是否相等。如果所有的对应字符都相等,则字符串是回文的。

  4. 字符串长度一半:因为只需要比较到字符串的一半,所以循环条件是 i<n/2。如果 n 是奇数,中间的字符不需要比较,因为回文中间字符既可以是前半部分也可以是后半部分。

  5. 输出结果:如果所有字符都匹配,则输出字符串是回文的消息;否则,一旦找到不匹配的字符,就输出字符串不是回文的消息,并结束程序。

标签:字符,C++,简易,字符串,长度,include,strlen,回文
From: https://blog.csdn.net/liuhuanqun123/article/details/139194524

相关文章

  • C++ const关键字
    C++const关键字记得有次面试carmeraturning岗,面试官让我谈谈const关键字的作用我提到被const修饰变量会存入.rodata的只读数据段不可更改,面试官好像不是很满意,现在想想carmeraturning岗位好像主要用C++,面试官当时是想让我说说C++中const关键字的作用。C++中const关键字的作用......
  • 【LeetCode】【5】最长回文子串
    文章目录@[toc]题目描述样例输入输出与解释样例1样例2提示Python实现动态规划个人主页:丷从心·系列专栏:LeetCode刷题指南:LeetCode刷题指南题目描述给一个字符串s,找到s中最长的回文子串样例输入输出与解释样例1输入:s="babad"输出:"bab"解释:"aba"同样是......
  • 【C++】C++异常处理精要:从传统C语言错误处理到现代C++异常机制
    文章目录前言:1.C语言传统的处理错误的方式2.什么是异常处理机制?3.C++异常处理语法3.1.异常抛出(Throw)3.2.异常捕获(Catch)3.3.异常传递(ExceptionPropagation)3.4.异常规范(ExceptionSpecification)3.5.异常安全(Exceptionsafe)4.C++异常处理的最佳实践4.1.只在必......
  • C++ 组含子项自定义排序通用设计
    #include<memory>classBase;usingBaseSp=std::shared_ptr<Base>;classBase{public:  explicitBase(intid):ID(id){}  intID;};classSorter{public:  virtualboolsort(constBaseSp&l,constBaseSp&r){returntrue;......
  • 在 C++ 中 auto什么意思
    在C++中,是一个关键字,用于声明自动类型推断变量。它允许编译器根据变量初始化的表达式来推断其类型,从而减少代码中的类型冗长,提高代码的可读性和编写效率。auto使用声明的变量可以在编译时确定其类型,而不是在编写代码时显式指定类型。这在某些情况下可以简化代码,特别是当变......
  • 【C++】牛客——OR64 求和
    ✨题目链接:OR64求和✨题目描述 输入两个整数n和m,从数列1,2,3.......n中随意取几个数,使其和等于m,要求将其中所有的可能组合列出来✨输入描述:每个测试输入包含2个整数,n和m✨输出描述: 按每个组合的字典序排列输出,每行输出一种组合 ✨示例1......
  • STL 以及 C语言与C++的区别
    C++语言的标准库(STL)容器(Containers)vector:动态数组,可以动态增长和收缩,支持快速随机访问元素。list:双向链表,支持在任意位置快速插入和删除元素。map:关联容器,以键值对(key-value)形式存储元素,支持快速查找和插入。竞赛常用C++STL用法https://io.zouht.com/154.htmlv......
  • c++ 设计模式:建造者模式
    建造者模式(BuilderPattern)是一种创建型设计模式,它允许你构造复杂对象步骤分解。你可以不同的步骤中使用不同的方式创建对象,且对象的创建与表示是分离的。这样,同样的构建过程可以创建不同的表示。举例说明:#include<iostream>//#include<map>//#include<stack>#include<......
  • C++友元和动态内存
    在C++中,友元机制允许一个类将其非公有成员的访问权限授予指定的函数或者类。然而,滥用友元会破坏封装性,导致可维护性和安全性问题。动态内存指的是在程序运行时分配和释放内存,通常通过使用new和delete操作符在C++中管理。下面是一个简单的例子,展示了如何在类中使用友元函数来访问......
  • C++/Qt桌面应用学习路线参考
    ......