实现Luhn检验和实现c++实现
作者:互联网
实验代码一
1 #include <iostream> 2 using namespace std; 3 4 //<<像程序员一样思考>> 实现Luhn检验和实现 5 //Luhn原理 标识号 最后一位是检验数字 6 //回车 ASC码值 10 7 int method(int temp); 8 bool luhnMethod(int temp); 9 int main() 10 { 11 // const int array_size = 6; 12 const int array_size = 7; 13 int sum = 0; 14 //步骤划分 先实现数组为偶数 大小为6的数组 15 //乘以2的数字分别为 1 5 9 乘以2后分别为 2 1 9 16 //2 + 1 + 9 + 3 + 7 + 8 = 30 17 //数组索引0 2 4 18 // int age[] = {1,3,5,7,9,8}; 19 // for(int i=0; i<array_size; i++) 20 // { 21 // if(i % 2 == 0) 22 // { 23 // sum += method(age[i]); 24 // } 25 // else 26 // { 27 // sum += age[i]; 28 // } 29 // } 30 // cout << "sum: " << sum << endl; 31 // bool flag = luhnMethod(sum); 32 // cout << "flag: " << flag << endl; 33 //实现数组为奇数 大小为7的数组 34 //1,3,5,7,9,8,2, 35 //乘以2的数字 3 7 8 乘以2的结果为 6 5 7 36 //在数组中的索引位置 分别为 1 3 5 37 //相加的结果为 1 + 6 + 5 + 5 + 9 + 7 + 2 = 35 38 int age[] = {1,3,5,7,9,8,2}; 39 for(int i=0; i<array_size; i++) 40 { 41 if(i % 2 != 0) 42 { 43 sum += method(age[i]); 44 } 45 else 46 { 47 sum += age[i]; 48 } 49 } 50 cout << "sum: " << sum << endl; 51 bool flag = luhnMethod(sum); 52 cout << "flag: " << flag << endl; 53 return 0; 54 } 55 //如果传入的数值乘以2小于10 返回乘以2之后的数 若大于10 返回个位 十位数 数字相加之和 56 int method(int temp) 57 { 58 int doubleValue; 59 temp = 2 * temp; 60 if(temp < 10) 61 { 62 doubleValue = temp; 63 } 64 if(temp >= 10) 65 { 66 doubleValue = 1 + temp%10; 67 } 68 return doubleValue; 69 } 70 //Luhn 相加的和能被10整除 则说明标识号正确 否则错误 71 bool luhnMethod(int temp) 72 { 73 if(temp % 10 == 0) 74 { 75 return true; 76 } 77 else 78 { 79 return false; 80 } 81 }
实验代码二
1 #include <iostream> 2 using namespace std; 3 4 //如何处理数字输入 统计输入的数值键的个数 5 int main() 6 { 7 int temp; 8 int count = 0; 9 cout << "input number please" << endl; 10 temp = cin.get(); 11 while(true) 12 { 13 //回车键的ASC码值为10 14 if(temp == 10) 15 { 16 //回车键不算输入的数值键 17 break; 18 } 19 else 20 { 21 count++; 22 temp = cin.get(); 23 } 24 } 25 cout << "输入的数值键的个数为" << count << endl; 26 return 0; 27 }
实验代码三
每输入一个字符就要计算 然而要等到输入完所有数值时,才可以判断输入的数值是奇数还是偶数
如何用代码实现这个功能
不太懂 明天再更新
标签:10,return,temp,实现,c++,int,Luhn,输入 来源: https://www.cnblogs.com/littlelittleprince/p/10663174.html