code:https://github.com/kerong2002/kerong_zerojudge/blob/main/a159%2011743%20-%20Credit%20Check%20--%20UVa11743.c
AC (0.5s, 64KB)
這題是個不錯的題目,因為c可以用getline讀入,再用判斷,把ASCII 32' '(空格)忽略
而scanf()提供了一種不錯的方法,您可以試試,
利用scanf("%[^\n]")這是只讀到\n以外東西,直到遇到\n
而這時候,你的stdin標準輸入匯流裡面,會存在'\n'(ASCII 10)
所以可以利用scanf("%*c")的技巧,將它丟掉,等同於你寫getchar();
所以可以這樣
scanf("%[^\n]%*c",array);
或是
scanf("%[^\n]",array);
getchar();
而一開始的int n
你如果scanf("%d",&n);
結束後,你的stdin還是存在'\n',
所以也要getchar() 或是"%*c"移除掉它
剩下就只是單存的對數字處理,判斷sum%10有沒有等於0即可
(記得陣列要開的比輸入再多一位,字元結尾)