题目:
思路:
定义一个整型数组进行计数,其下标对应的数组值就是数字0~9相应出现的次数。
代码(C++版):
1 #include
2 #include
3 using namespace std;
4
5 int main()
6 {
7 string n;
8 cin >> n;
9 int cnt[10] = {0};
10 for(int i = 0; i < n.length(); i++)
11 {
12 cnt[n.at(i) - '0']++;
13 }
14 for(int i = 0; i <= 9; i++)
15 {
16 if(cnt[i])
17 cout << i << ":" << cnt[i] << endl;
18 }
19 return 0;
20 }
代码(C语言版):
1 #include
2 #include
3
4 int main()
5 {
6 char n[1005];
7 scanf("%s",n);
8 int len = strlen(n);
9 int cnt[10] = {0};
10 for(int i = 0; i < len; i++)
11 {
12 cnt[n[i] - '0']++;
13 }
14 for(int i = 0; i <= 9; i++)
15 {
16 if(cnt[i])
17 printf("%d:%d\n", i, cnt[i]);
18 }
19 return 0;
20 }
总结:
灵活运用数组下标与其值的对应关系。
来源:https://www.cnblogs.com/Anber82/p/11128530.html