C3-UVa1225-Digit Counting
阿新 • • 發佈:2020-06-28
平臺:
UVa Online Judge
題號:
1225 - Digit Counting
題目連結:
題目說明:
把前n(n≤10000)個整數順次寫在一起:123456789101112…數一數0~9各出現多少次(輸出10個整數,分別是0,1,…,9出現的次數)。
範例輸入:
2
3
13
範例輸出:
0 1 1 1 0 0 0 0 0 0
解題方法:
一個一個計數即可。
程式碼:
1 #include <cstdio> 2 #include <cstring> 3 4 void getMany(int t, int a[]) { 5 while (t) { 6 a[t % 10]++; 7 t /= 10; 8 } 9 } 10 11 void myPrint(int a[]) { 12 printf("%d", a[0]); 13 for (int i = 1; i < 10; i++) {14 printf(" %d", a[i]); 15 } 16 printf("\n"); 17 } 18 19 int main() { 20 int T = 0; 21 scanf("%d", &T); 22 while (T--) { 23 int a[10] = { 0 }; 24 memset(a, 0, sizeof(a)); 25 int n = 0; 26 scanf("%d", &n); 27 for (int i = 1; i <= n; i++) {28 getMany(i, a); 29 } 30 myPrint(a); 31 } 32 return 0; 33 }