/***************************************************************************************************************
S得到一個數,他想知道這個數每一位上的數字的孔數之和。1,2,3,5,7這幾個數字是沒有孔的,0,4,6,9都有一個孔,8有兩個孔。
Input
輸入數據的第一行為一個數T表示數據組數。接下來T行,每行輸入一個正整數n(1<=n<=1000),表示要求數字孔數之和的數。n不會有前導0。
Output
對于每組數據輸出一行一個整數,表示該數的每一位上的數字的孔數之和。
Sample Input
2
42
669
Sample Output
1
3
***************************************************************************************************************/
我最初的代碼:
#includeint main()
{
??????? int T,i,n[4];
??????? int ans=0;
??????? scanf("%d",&T);
??????? while(T>0)
??????? {
??????????????? for(i=0;i<4;i++)
??????????????? {
??????????????????????? scanf("%d",&n[i]);
??????????????? }
??????????????? for(i=0;i<4;i++)
??????????????? {
??????????????????????? if(n[i]==0||n[i]==4||n[i]==6||n[i]==9)
??????????????????????? {
?????????????????????????????? ?ans++;
????????????????????? ?? }
??????????????????????? else if(n[i]==8)
??????????????????????? {
??????????????????????????????? ans+=2;
????????????????????????}
????????????????}
??????????????? printf("輸出%d\n",ans);
????????????????T--;
?????????}
???????? return 0;
}
??????? 我以為我在數字鍵盤上每輸入一個個位數字就會自動生成一個數組元素,所以我每一次輸入42,敲下回車后沒有任何輸出,讓我很苦惱。但是實際上,用我的代碼生成數組時,是輸入后每敲一次回車,形成一次數組,所以當我敲回車的時候,我以為所有數組已經有了元素,實際上,只生成了第一個數組元素。