为什么我的算法在 PTA 中输出和的每一位都失败?

我写了一些代码来解决下面的问题。我已经尝试了一些测试用例,它们都通过了,但是当我提交自动标记的答案时,结果是失败的。我不知道问题出在哪里。

这是问题和相应的链接

1005 Spell It Right (20 分)
给定一个非负整数 N,你的任务是计算 N 的所有数字之和,并用英文输出和的每一位数字。

输入规范:
每个输入文件包含一个测试用例。每个 case 占据一行,其中包含一个 N (≤10^100 )。

输出规范:
对于每个测试用例,一行输出英文单词的和的数字。两个连续的单词之间必须有一个空格,但行尾不能有多余的空格。

样本输入:

12345

示例输出:

one five

下面是我的代码(在提交到系统之前需要将类名替换为 Main ):

package com.maxim.advance;

import java.util.ArrayList;

import java.util.List;

import java.util.Scanner;


public class Main {


public static void main(String args[]) {

    Scanner scanner = new Scanner(System.in);

    String input = scanner.nextLine();

    scanner.close();

    int length = input.length();

    int sum = 0;

    for (int index = 0; index < length; index++) {

        sum += input.charAt(index) - '0';

    }

    // Consider sum == 0 case;

    if (sum == 0) {

        System.out.print("zero");

    }


    String[] names = new String[] {

            "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"

    };



    List<String> outputs = new ArrayList<String> (100);

    while (sum > 0) {

        outputs.add(names[sum % 10]);

        sum = sum / 10;

    }



    int size = outputs.size();


    for (int i = size - 1; i >= 0; i--) {

        if (i > 0) {

            System.out.print(outputs.get(i) + " ");

        } else {

            System.out.print(outputs.get(i));

        }


    }

}

}

下面的 C++ 代码是正确的并且总是通过


#include<bits/stdc++.h>

using namespace std;

int main(){

string s;

cin>>s;

long int tmp=0;

for(int i=0;i<s.size();i++){

    tmp+=(s[i]-'0');

}

string match[10]={"zero","one","two","three","four","five","six","seven","eight","nine"};

vector<string> v;

long int sum=tmp;

while(sum){

    v.push_back(match[sum%10]);

    sum/=10;

}


reverse(v.begin(),v.end());

if(tmp==0)// 

cout<<"zero";

else

for(int i=0;i<v.size();i++){

    if(i==0)

    cout<<v[i];

    else

    cout<<" "<<v[i];

}

return 0;

}


茅侃侃
浏览 162回答 1
1回答

呼唤远方

按照网友的建议,我把package语句去掉后就通过了,真的很奇怪。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java