3425 - Bad QQ ID
chengzi申请了好多QQ号码,准备拿一个当小号用。
chengzi对数字很敏感,为了理智的选择一个号码,chengzi决定给每个号码按照以下规则定一个品级。
首先QQ号中不能有4,含有4的都是Bad QQ ID。
对于其余的数字6和8是传统好数,每个数打5分,1和9寓意深刻每个数打3分,其他的数just so so就每个勉强1分了。
例如 123789 : 3 + 1 + 1 + 1 + 5 + 3 = 14
请你设计一个程序帮助chengzi计算他所有QQ号码的分数。
题目输入
输入包含一个组数T,表示有T组测试数据。
(0<T<100)
每组数据包含一个QQ号码,最短4位,最长不会超过10位,十位数的QQ开头不会超过3。
题目输出
对于每组数据,如果是Bad QQ ID,输出“Bad QQ ID”,其他情况输出每位数字的分数和。
输入/输出样例
题目输入
2 123789 123456789
题目输出
14 Bad QQ ID
C语言解答
#include<stdio.h> #include<string.h> int main() { int a,b,c,d,n; char q[100]; scanf("%d",&n); while(n--) { scanf("%s",&q); for(a=0,b=0,c=0;a<strlen(q);a++) { if(q[a]=='4') {b++; } else if(q[a]=='6'||q[a]=='8') c+=5; else if(q[a]=='1'||q[a]=='9') c+=3; else c+=1; } if(b) printf("Bad QQ ID\n"); else printf("%d\n",c); } }
C++解答
#include<stdio.h> #include<string.h> int main() { int t; char s[15]; scanf("%d",&t); getchar(); while(t--) { int len,flag = 0,sum = 0; gets(s); len = strlen(s); for(int i = 0;i < len;i++ ) { if(s[i] == '4') { flag = 1; break; } else if(s[i] == '6' || s[i] == '8') sum = sum + 5; else if(s[i] == '1' ||s[i] == '9') sum = sum + 3; else sum = sum + 1; } if(flag) printf("Bad QQ ID\n"); else printf("%d\n",sum); } return 0; }