小編給大家分享一下c#如何實現(xiàn)信用卡號的驗證,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)品牌建設與網(wǎng)絡營銷,包括成都網(wǎng)站制作、網(wǎng)站建設、SEO優(yōu)化、網(wǎng)絡推廣、整站優(yōu)化營銷策劃推廣、電子商務、移動互聯(lián)網(wǎng)營銷等。創(chuàng)新互聯(lián)為不同類型的客戶提供良好的互聯(lián)網(wǎng)應用定制及解決方案,創(chuàng)新互聯(lián)核心團隊10多年專注互聯(lián)網(wǎng)開發(fā),積累了豐富的網(wǎng)站經(jīng)驗,為廣大企業(yè)客戶提供一站式企業(yè)網(wǎng)站建設服務,在網(wǎng)站建設行業(yè)內(nèi)樹立了良好口碑。
【信用卡號的驗證】
當你輸入信用卡號碼的時候,有沒有擔心輸錯了而造成損失呢?其實可以不必這么擔心,
因為并不是一個隨便的信用卡號碼都是合法的,它必須通過Luhn算法來驗證通過。
該校驗的過程:
1、從卡號最后一位數(shù)字開始,逆向?qū)⑵鏀?shù)位(1、3、5等等)相加。
2、從卡號最后一位數(shù)字開始,逆向?qū)⑴紨?shù)位數(shù)字,先乘以2(如果乘積為兩位數(shù),則將其減去9),再求和。
3、將奇數(shù)位總和加上偶數(shù)位總和,結(jié)果應該可以被10整除。
例如,卡號是:5432123456788881
則,奇數(shù)位和=35
偶數(shù)位乘以2(有些要減去9)的結(jié)果:1 6 2 6 1 5 7 7,求和=35。
最后35+35=70 可以被10整除,認定校驗通過。
請編寫一個程序,從鍵盤輸入卡號,然后判斷是否校驗通過。通過顯示:“成功”,否則顯示“失敗”。
比如,用戶輸入:356827027232780
程序輸出:成功
【參考測試用例】
356406010024817 成功
358973017867744 成功
356827027232781 失敗
306406010024817 失敗
358973017867754 失敗
因為輸入時候數(shù)據(jù)中間無空格。所以用字符串。
#include<stdio.h>
main()
{
char a[16]={0};
int sum1,sum2,temp;
for(int j=0;j<1000;j++)
{
sum1=0;
sum2=0;
scanf("%s",a);
for(int i=14;i>=0;i-=2)
{
sum1+=(a[i]-'0');
}
for(int i=13;i>0;i-=2)
{
temp=2*(a[i]-'0');
if(temp>=10)
{
temp-=9;
sum2+=temp;
}
else
{
sum2+=temp;
}
}
if((sum1+sum2)%10==0)
{
printf("成功\n");
}
else
{
printf("失敗\n");
}
}
return 0;
}
以上是“c#如何實現(xiàn)信用卡號的驗證”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
文章標題:c#如何實現(xiàn)信用卡號的驗證
文章出自:http://chinadenli.net/article10/jiiedo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信小程序、商城網(wǎng)站、服務器托管、網(wǎng)站內(nèi)鏈、網(wǎng)站設計、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)