为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

茅侃侃 2021-11-17 15:06:57
我写了一些代码来解决下面的问题。我已经尝试了一些测试用例,它们都通过了,但是当我提交自动标记的答案时,结果是失败的。我不知道问题出在哪里。这是问题和相应的链接: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";elsefor(int i=0;i<v.size();i++){    if(i==0)    cout<<v[i];    else    cout<<" "<<v[i];}return 0;}
查看完整描述

1 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

按照网友的建议,我把package语句去掉后就通过了,真的很奇怪。


查看完整回答
反对 回复 2021-11-17
  • 1 回答
  • 0 关注
  • 161 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信