解题思路:
用数组存放每一个位的数字,最后相加
注意事项:
既然用到了强制类型转换,我们就总结一下:
基本数据类型又8种,哪8种呢?记不到的拍拍头。
byte short int double long float char boolean
在四则运算中(加,减,乘,除)
1、如果两个操作数中有一个是double类型,另一个就会转换为double类型;
2、否则,如果有一个操作数是float,另一个就会转化为float;
3、否则,如果有一个操作数是long,另一个就会转换为long;
4、否则,两个操作数都将转换为int类型。
byte b1 = 10;
byte b2 = 11;
//错误: 不兼容的类型: 从int转换到byte可能会有损失
//否则,两个操作数都将转换为int类型。
byte b3 = b1 + b2 //错误
byte b3 = (byte)(b1 + b2); //正确
short s1 = 1;
s1 = s1 + 1;
//错误: 不兼容的类型: 从int转换到short可能会有损失
short s2 = 1;
s2 += 1; // 等同于short s2 = (short)(s2 + (short)1); //正确
还有一些对象是不可以被强制转换的,String和Integer之类就不可以哦
参考代码:
Scanner in=new Scanner(System.in); int arr[]=new int[100]; while(in.hasNext()) { double n=in.nextDouble(); int sum=0; for(int i=0;i<100;i++) { arr[i]=(int)(n%10); //我血的教训,最开始我是(int)n%10,这是会先把n变为整型,那么精度就丢失了 n/=10; //(int)(n%10),这样才能满足所有样例。要注意呀!! sum=arr[i]+sum; } System.out.println(sum); } } }
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复