编写c#程序,根据输入的手机尾号(后四位),按照指定规则对手机尾号进行评分,尾号最终得分就是每项评分分值之和,评分规则如下:
(1)、若出现连号,不论升序降序,评分分值加五分,如:5678、4321.
(2)、若前三个数字相同或者后三个数字相同,评分分值加3分,如4888、6665、7777.注意:7777由于满足此规则俩次,因此评分分值加6分。
(3)、若符合AABB或者ABAB模式,评分分值加1分,如2255、3939、7777.注意,7777由于满足此规则俩次,因此评分分值加2分。
(4)、若尾号中包含6、8、9中包含任何一个数字,每出现一次评分分值加1分,如4326、6875、9918,其中4326评分加1分,6875评分分值加2分,9918评分分值加3分。
static void Main(string[] args)
{
int nums;
int nums_1, nums_2, nums_3, nums_4;
int score = 0;
//手机号得分
bool result;
//每轮判断结果
Console.WriteLine("请输入手机尾号(最后4位):");
nums = int.Parse(Console.ReadLine());
//分割每一位
nums_1 = nums / 1000;
nums_2 = nums / 100%10;
nums_3 = nums / 10%10;
nums_4 = nums %10;
//逐一判断是否满足条件
//连号
result = nums_2 == nums_1 + 1 && nums_3 == nums_2 + 1 && nums_4 == nums_3 + 1;
score += result == true ? 5 : 0;
result = nums_2 == nums_1 -1 && nums_3 == nums_2 - 1 && nums_4 == nums_3 -1;
score += result == true ? 5 : 0;
//连续3个相同(前3个或后3个)
result = nums_1 == nums_2 && nums_2 == nums_3 ;
score += result == true ? 3 : 0;
result = nums_2 == nums_3 && nums_3 == nums_4;
score += result == true ? 3 : 0;
//两个相同(12和34相同,13和24相同)
result = nums_1 == nums_2 && nums_3 == nums_4;
score += result == true ? 1 : 0;
result = nums_1 == nums_3 && nums_2 == nums_4;
score += result == true ? 1 : 0;
//每存在一次6、8、9
result = nums_1 == 6 || nums_1 == 8 || nums_1 == 9;
score += result == true ? 1 : 0;
result = nums_2 == 6 || nums_2 == 8 || nums_2 == 9;
score += result == true ? 1 : 0;
result = nums_3 == 6 || nums_3 == 8 || nums_3 == 9;
score += result == true ? 1 : 0;
result = nums_4 == 6 || nums_4 == 8 || nums_4 == 9;
score += result == true ? 1 : 0;
//输出最终评分
Console.WriteLine("手机号最终得分;" + score);
Console.ReadLine();
}