#31442: C語言解題


krameri120 (科科)

學校 : 國立臺南高級工業職業學校
編號 : 102318
來源 : [1.173.159.232]
最後登入時間 :
2024-06-06 10:31:47
a159. 11743 - Credit Check -- UVa11743 | From: [27.246.66.76] | 發表日期 : 2022-07-31 15:31

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即可
(記得陣列要開的比輸入再多一位,字元結尾)

 
ZeroJudge Forum