原题链接:二级C语言-统计字符
解题思路:
该题是用来求一个字符串其中的字母个数、空格个数、数字的个数以及其他字符的个数 这样的话我们先分析题意,我们可以把一个字符串转化为一个字符数组,转化为字符数组之后 我们可以通过用一个for循环来遍历这个字符数组里面的所有字符,但是我们需要知道它是字母 空格 数字又或是其他字符,我们知道的可能是ASCII码表的值,那样我们可以再定义一个整型 的数组用来存储字符数组中的每一个字符的强制转化为整型的值,通过来比较ASCII的范围再来 确定他们的个数.....
注意事项:
其中首先要知道的是字符串转化为一个字符数组方法是toCharArray(),之后是要知道字母的范围和数字 的范围还有空格的范围,他们的范围如下 a-z:97-122 A-Z:65-90 0-9:48-57
参考代码:
import java.util.Scanner; public class L1063 { public static void main(String[] args) { Scanner m=new Scanner(System.in); String str; str=m.nextLine(); char a[]=new char[str.length()]; a=str.toCharArray(); int s[]=new int[str.length()]; int count1=0,count2=0,count3=0,count4=0; for(int i=0;i<a.length;i++) { s[i]=(int)a[i]; if((s[i]>=65&&s[i]<=90)||(s[i]>=97&&s[i]<=122)) count1++; else if(s[i]==32) count2++; else if(s[i]>=48&&s[i]<=57) count3++; else count4++; } System.out.println(count1); System.out.println(count2); System.out.println(count3); System.out.println(count4); } }
这个代码是和上面的思路连接在一起的,相信应该可以看得懂,如果看不懂得话,请把你的疑问给我写在
下面,我会为你详细解答,谢谢。
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复