`
Touch_2011
  • 浏览: 290532 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

卡号校验(C语言实现)

阅读更多
/*
 *
 *  题目: 当你输入信用卡号码的时候,有没有担心输错了而造成损失呢?其实可以不必这么担心,因为
           并不是一个随便的信用卡号码都是合法的,它必须通过Luhn算法来验证通过。
		   该校验的过程:
           1、从卡号最后一位数字开始,逆向将奇数位(1、3、5等等)相加。
           2、从卡号最后一位数字开始,逆向将偶数位数字,先乘以2(如果乘积为两位数,则将其减去9),再求和。
           3、将奇数位总和加上偶数位总和,结果应该可以被10整除。
           例如,卡号是:5432123456788881
           则奇数、偶数位(用红色标出)分布:5432123456788881
           奇数位和=35
           偶数位乘以2(有些要减去9)的结果:1 6 2 6 1 5 7 7,求和=35。
           最后35+35=70 可以被10整除,认定校验通过。

           请编写一个程序,从键盘输入卡号,然后判断是否校验通过。通过显示:"成功",否则显示"失败"。
           比如,用户输入:356827027232780
           程序输出:成功

 *   
 *  作者:Touch
 *   这也是一份试卷的模拟题。。。
 */

 

0
2
分享到:
评论

相关推荐

    BCC校验含源码

    在本案例中,我们有一个使用C#编程语言开发的项目,它包含VS(Visual Studio)环境下的源代码,可以用于理解和实现BCC校验功能。 **描述:“VS开发,c#语言,BCC校验赋源码,可直接运行。希望有帮助。”** 这个...

    linux串口收发测试程序_ttyUSB_linux_serialport_

    `serial_send_recv_test`可能就是一个包含了上述功能的C语言实现的串口收发测试程序,你可以下载并运行它来验证串口通信的正确性。同时,可以结合`minicom`或`picocom`等串口调试工具来辅助调试和测试。 总的来说,...

    验证银行卡号输入的正确性

    本节我们将深入探讨Luhn校验的原理以及如何用C语言实现这个校验过程。 Luhn算法的基本思想是对银行卡号的每一位进行特定计算,以验证其合法性。具体步骤如下: 1. **奇数位相加**:从卡号的最后一位数字开始,逆向...

    STC系列单片机韦根26程序.rar

    韦根26协议是一种非接触式智能卡通信协议,主要用于门禁系统、考勤系统等,它传输的数据长度为26位,其中13位是卡号,另外13位是校验码。该协议的特点是非双向,即只能由读卡器向控制器发送数据,但不支持控制器向...

    ARM7实现指纹考勤系统硬件设计

    输出的数据格式为头码(02)+10ASCII数据+Checksum校验码+结束码(03),事实上我们只需存储10位数据信息中的4位卡号。 电源管理 电源管理部分采用了1150mAh的LI电,通过DC-DC升压至5V,再通过LDO给系统所需要的3.3V和...

    单片机控制的智能门禁系统设计-论文

    为了实现射频卡的读取功能,单片机需要运行特定的C语言程序。程序通过外部中断端口接收数据,对数据进行处理,包括校验位的判断以及数据的拼接,最终得到完整的卡号信息。这样的程序设计可以确保在实时性要求极高的...

    上海医保明细数据采集系统接口规范

    客户端DLL接口函数主要用于实现客户端与监管前置机之间的数据传输功能。DLL文件名为`SendRcvHisC.dll`,支持C语言接口,提供了以下关键接口: - **终端信息设置**:通过`SetTerminalInfo`函数来配置医疗机构代码和...

    基于ARM7的指纹考勤机设计

    - **刷卡采集**: MTP-125K4模块支持RS232数据输出,输出数据格式包括头码、卡号数据、校验码和结束码,系统只需要存储卡号数据即可完成身份验证。 - **电源管理**: 采用高效的DC-DC转换器和LDO稳压器,确保系统在...

Global site tag (gtag.js) - Google Analytics