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;
}
执行结果:
总结:假设须要实现某一功能的运算,最好还是定义成递归函数,使整个程序看起来私立更加清晰。
浙公网安备 33010602011771号