作者:指针不指南吗
专栏:算法刷题🐾或许会很慢,但是不可以停下来🐾
文章目录
- 题目
- 题解
- 总结
题目
题目链接
 
题解
- 使用string把长度达1000位的数字存起来
- 开一个代表个位数的数组 a[11]
- 倒序计算最后一位,对应的数组的值++
#include<bits/stdc++.h>
using namespace std;int a[11];int main(){string s;cin>>s;for(int i=s.size()-1;i>=0;i--){int x=s[i]-'0';a[x]++;// cout<<x<<endl;}for(int i=0;i<=9;i++){if(a[i]!=0){cout<<i<<":"<<a[i]<<endl;}}return 0;
}
总结
- 段错误的情况 (1)数组越界,在这个题的for循环条件中,i++就出来段错误 
 (2) scanf错误的情况,检查,或换成cout
- 大数字的情况 一开始int -> long long ->string 
 对于数据类型的范围不太清楚
 如果提到几位长的数就是用string 敏感点
  
