您好,登錄后才能下訂單哦!
小編給大家分享一下c#如何實現信用卡號的驗證,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
【信用卡號的驗證】
當你輸入信用卡號碼的時候,有沒有擔心輸錯了而造成損失呢?其實可以不必這么擔心,
因為并不是一個隨便的信用卡號碼都是合法的,它必須通過Luhn算法來驗證通過。
該校驗的過程:
1、從卡號最后一位數字開始,逆向將奇數位(1、3、5等等)相加。
2、從卡號最后一位數字開始,逆向將偶數位數字,先乘以2(如果乘積為兩位數,則將其減去9),再求和。
3、將奇數位總和加上偶數位總和,結果應該可以被10整除。
例如,卡號是:5432123456788881
則,奇數位和=35
偶數位乘以2(有些要減去9)的結果:1 6 2 6 1 5 7 7,求和=35。
最后35+35=70 可以被10整除,認定校驗通過。
請編寫一個程序,從鍵盤輸入卡號,然后判斷是否校驗通過。通過顯示:“成功”,否則顯示“失敗”。
比如,用戶輸入:356827027232780
程序輸出:成功
【參考測試用例】
356406010024817 成功
358973017867744 成功
356827027232781 失敗
306406010024817 失敗
358973017867754 失敗
因為輸入時候數據中間無空格。所以用字符串。
#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#如何實現信用卡號的驗證”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。