第11周项目6-2:判断是否为回文数

本文介绍如何使用C++编程语言实现回文数判断函数,并通过实例代码详细解析其工作原理,帮助读者深入理解回文数概念及其在编程中的应用。

问题及代码:

/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:test.cpp
*作    者:陈文青
*完成日期:2014年11月11日
*版 本 号:v1.0
*
*问题描述:编制isPalindrome(),用于判断参数是否是回文数——回文数,即从前往后读和从后往前读都一样的数,
如1221和121都是回文数,而1231、123都不是回文数。请编制isPalindrome(函数,在下面代码的基础上补充相关
的部分,实现要求的功能
*程序输入:一个整数,m
*程序输出:判断m是否为回文数
*/
#include<iostream>
using namespace std;
int reverse(int x);            //调用自定义函数,用于求回文数
bool isPalindrome(int n);      //自定义函数,布尔型
int main()
{
    int m;
    cin>>m;
    if(isPalindrome(m))        //调用函数
        cout<<m<<"是回文数,欧耶!"<<endl;
    else
        cout<<m<<"不是回文数,回文有什么好!"<<endl;
    return 0;
}
int reverse(int x)           //用于求回文数的反序数
{
    int m=0,r;
    while(x>0)
    {
        r=x%10;
        m=m*10+r;
        x=x/10;
    }
    return m;
}
bool isPalindrome(int n)
{
    bool palindrome=false;     //默认不是回文数
    if(reverse(n)==n)
        palindrome=true;       //判断是否为回文数
    return palindrome;
}

运行结果:





知识点总结:

调用布尔型自定义函数进行判断

学习心得:

以后在进行复杂的判断,而if语句不能进行时,有必要加一个bool型自定义函数,这样问题或许会简单很多。

java项目中有个业务,需要从OD人员零点以后下班的数据记录中统计出风险;OdLastTime是OD人员零点以后下班的数据记录对象,OdRisk是OD风险对象。OdLastTimeOdRisk中都有workId是每个人的工号,OdRisk中还有weekStart字段表示统计开始时间,weekStartworkId可以组成风险的唯一值,用来避免重复。下面是具体的数据库表 CREATE TABLE `od_risk` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) DEFAULT NULL COMMENT '姓名', `work_id` varchar(20) DEFAULT NULL COMMENT '工号', `pdu` varchar(255) DEFAULT NULL COMMENT 'PDU', `dept` varchar(255) DEFAULT NULL COMMENT '开发部', `week_start` date DEFAULT NULL COMMENT '统计开始时间', `last_time` varchar(500) DEFAULT NULL COMMENT '下班时间集合,降序(使用中文;分割)', `status` int(11) DEFAULT '0' COMMENT '是否闭环', `detail` varchar(500) DEFAULT NULL COMMENT '详细描述', `edit_record` varchar(500) DEFAULT NULL COMMENT '最近一次修改记录', `update_time` datetime DEFAULT NULL COMMENT '更新时间', `update_by` varchar(50) DEFAULT NULL COMMENT '更新人', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='OD风险表'; CREATE TABLE `od_last_time` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) DEFAULT NULL COMMENT '姓名', `work_id` varchar(20) DEFAULT NULL COMMENT '工号', `prepare_date` datetime DEFAULT NULL COMMENT '考勤日期', `first_time` datetime DEFAULT NULL COMMENT '首次打卡时间', `last_time` datetime DEFAULT NULL COMMENT '末次打卡时间/下班时间', `pdu` varchar(255) DEFAULT NULL COMMENT 'PDU', `dept` varchar(255) DEFAULT NULL COMMENT '开发部', `hw_dept_name` varchar(255) DEFAULT NULL COMMENT '华为部门名称', `update_time` datetime DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; 下面是对风险统计规则的解释举例:风险有两种情况: 1、 加班至凌晨3点及以后的情况 2、 连续3天加班至0点之后的情况 统计上一开始,识别每个人是否存在连续2内的风险情况: 1、如果存在风险,并且当前数据库中无此风险问题,则创建一个风险问题; 2、如果已经有风险问题,则刷新此风险中的下班时间。3、如果连续两的风险问题存在包含关系,则后一的不记录。 例如,员工A凌晨加班时间为2025-07-29 01:04:39;2025-07-31 00:07:362025-08-01 03:23:00;2025-08-05 00:09:59; 2025-08-07 00:04:03; 2025-08-08 00:41:37;2025-08-09 00:39:00; 1)统计时间2025-07-28:存在高风险问题,问题记录的下班时间为:2025-07-29 01:04:39;2025-07-31 00:07:362025-08-01 03:23:00;2025-08-05 00:09:59; 2025-08-07 00:04:03; 2025-08-08 00:41:37;2025-08-09 00:39:00; 2)统计时间2025-08-04: 5、7、8、9日已经包含在7月28日的问题中,因此不记录。 因为统计是从一开始,识别每个人是否存在连续2内的风险情况,所以要考虑识别出的风险加入到哪个风险记录 帮我生成一个识别风险的方法
最新发布
09-07
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值