题目要求:
输入代码:
#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; }
执行结果:
总结:假设须要实现某一功能的运算,最好还是定义成递归函数,使整个程序看起来私立更加清晰。