解题思路:

看到这题的时候,被这么低的通过率整蒙了,先写代码提交,然后翻了翻题解。好像明白为啥通过率这么低了,

我就想问问,有些人写 的题解,你们的心不会痛吗?

明明这么简单的小学计算题,非要整什么long,还long long ,你们提交的代码真的是你们题解的code吗?


注意事项:

不就是字符串接受输入,然后从头到尾一个数一个数相加吗?相加的数都是10以内的,口算都能算下来!!!long long ,,,,long什么啊。这样逗别人,有劲吗?

有意思吗?

参考代码:

C++版:

#include<iostream>
using namespace std;
int main(){
    string n;
    while(cin>>n){
        int x=0;
        for(int sor:n){
            x+=sor-48;
        }
        cout<<x<<endl;
    }
}

-----------------无聊的分割线--------------------

Java版

import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner sr=new Scanner(System.in);
        while(sr.hasNext()){
            int x=0;
            String n=sr.nextLine();
            for(int sor:n.toCharArray()){
                x+=sor-48;
            }
            System.out.println(x);
        }
    }
}


就这么个玩意,不来虚的,就这代码,还用解释吗?

 

0.0分

5 人评分

  评论区

哥们消消气,他们也没说错,你是用字符串接收并计算的,好多人都是用int接收数据(包括我)的,我本来寻思,题目告诉我们小于2的32次方不就是告诉我们在int范围内吗,其实不是的,int的32位包括了前面的符号位,数值大小只有31位,你用字符串当然不用考虑这个问题了,用int接收的话如果大于2的31次方就会出错。
2021-10-23 17:14:17
  • «
  • 1
  • »