PAT-字符串处理-B1021 个位数统计 (15分)
题目:
思路:
由题得知输入得正整数位数很大,故超出C++整型的范围,于是使用字符串数组进行存储。另外使用一个数组对输入数字的个位数字进行统计,然后进行输出
注意点:
字符串数组中,每个位置存储的元素的类型为char类型,故利用ASCLL码获取其在C++中的整型数字,res[num[i]-'0']++,其中num[i]-'0'为输入数字的其中一个数字
代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #include<iostream> 2 #include<stdio.h> 3 using namespace std; 4 5 int main() 6 { 7 char num[1010]; 8 int res[10] = { 0 }; 9 10 scanf("%s", &num); 11 12 //进行计数 13 for (int i = 0;i < strlen(num);i++) 14 { 15 res[num[i] - '0'] += 1; 16 } 17 18 //进行输出 19 for (int i = 0;i < 10;i++) 20 { 21 if (res[i]) 22 { 23 printf("%d:%d\n", i, res[i]); 24 } 25 } 26 27 return 0; 28 }
作者:方知有
Motto: 热爱可抵岁月漫长
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
所有评论和私信都会在第一时间处理,如有问题或建议,请多多赐教!
支持博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是作者坚持原创和持续写作的最大动力!