题目描述
SC_21得到一个数,他想知道这个数每一位上的数字的孔数之和。1,2,3,5,7这几个数字是没有孔的,0,4,6,9都有一个孔,8有两个孔。
输入格式
输入数据的第一行为一个数T表示数据组数。接下来T行,每行输入一个正整数n(1<=n<=10000),表示要求数字孔数之和的数。n不会有前导0。
输出
对于每组数据输出一行一个整数,表示该数的每一位上的数字的孔数之和。
样例输入
2
42
669
样例输出
1
3
#include<stdio.h>
int main()
{
int t,i,n,d,a[10];
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
i=d=0;
while(n)
{
a[i]=n%10;
n=n/10;
i++;
}
while(i--)
{
if(a[i]==0||a[i]==4||a[i]==6||a[i]==9)
d++;
else if(a[i]==8)
d=d+2;
}
printf("%d\n",d);
}
return 0;
}