OJ刷题---手机尾号评分

题目要求:




输入代码:

#include<iostream>
using namespace std;
int grade(int a,int b,int c,int d)
{
    int sum=0;
    if(a+1==b&&b+1==c&&c+1==d)sum += 5;//ABCD
    if(a-1==b&&b-1==c&&c-1==d)sum += 5;//DCBA
    if(a==b&&b==c)sum += 3;	//AAAB
    if(b==c&&c==d)sum += 3;	//ABBB
    if(a==b&&c==d)sum += 1;	//AABB
    if(a==c&&b==d)sum += 1;	//ABAB
    if(a==6||a==8||a==9)sum +=1;//6。8,9中不论什么一个数字,每出现一次加1分
    if(b==6||b==8||b==9)sum +=1;
    if(c==6||c==8||c==9)sum +=1;
    if(d==6||d==8||d==9)sum +=1;
    return sum;
}
int main()
{
    int a,b,c,d;
    int i,n,num;
    cin>>n;
    for(i=0; i<n; i++)
    {
        cin>>num;
        a = num/1000;
        b = num/100 - a*10;
        c = num/10 - a*100 - b*10;
        d = num%10;
        cout<<grade(a,b,c,d)<<endl;
    }
    return 0;
}

执行结果:


总结:假设须要实现某一功能的运算,最好还是定义成递归函数,使整个程序看起来私立更加清晰。



原文地址:https://www.cnblogs.com/cxchanpin/p/7083533.html