15行代码AC——习题3-3 数数字 (UVa1225,Digit Counting)
生活随笔
收集整理的這篇文章主要介紹了
15行代码AC——习题3-3 数数字 (UVa1225,Digit Counting)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
大意:
把n(n<=10000)個整數順序寫在一起,求0~9分別出現多少次
Sample Input
2
3
13
Sample Output
0 1 1 1 0 0 0 0 0 0
1 6 2 2 1 1 1 1 1 1
分析:
水題不要想得太復雜,用最簡單的知識就可以AC。復雜的語法反到易錯而臃腫。
使用char[]存儲數字列,用#include<algorithm>中的count()函數計算每個字符出現的次數。
傳送門→懶癌的福音——algorithm頭文件函數全集
提交鏈接→UVa-1225
代碼:
#include <bits/stdc++.h> //萬能頭文件 using namespace std; int main() {int n; cin >> n; while(n--) {stringstream ss ; //實現整型、字符型的相互轉化int num; cin >> num; char a[40000] ;for(int i = 1; i <= num; i++) ss << i;ss >> a ; int len = strlen(a) ; //字符數組長度, for(char i = '0'; i <= '9'; i++) cout << count(a,a+len,i) << (i=='9' ? "\n" : " "); //字符0-9在數組中出現的次數 }return 0 ; }擇苦而安,擇做而樂。虛擬現實終究比不過真實精彩之萬一。
總結
以上是生活随笔為你收集整理的15行代码AC——习题3-3 数数字 (UVa1225,Digit Counting)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 神奇的sstream头文件(整型与字符串
- 下一篇: 13行代码AC_习题3-9 子序列 (U