挑战在于根据给定的投入计算一顿饭的总成本:
餐费(不含税或小费)(双倍)
小费百分比(以整数表示)
税率(以整数表示)
注意:默认情况下,这些数据类型必须保持这种方式。我不能将他们的初始声明改为double
而不是int
给出的步骤如下:
读取3个值的输入
使用tip = mealCost x (tipPercent / 100)
计算小费
使用tax = mealCost x (taxPercent / 100)
计算税款
通过添加mealCost
、tip
和tax
计算总膳食成本。
把最后的答案四舍五入并打印出来(如“总餐费totalCost
美元。”)
所以我的计划是这样的:
using System.CodeDom.Compiler;
using System.Collections.Generic;
using System.Collections;
using System.ComponentModel;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.Serialization;
using System.Text.RegularExpressions;
using System.Text;
using System;
class Solution {
// Complete the solve function below.
static void solve(double meal_cost, int tip_percent, int tax_percent) {
double tip = meal_cost * (tip_percent / 100.0);
double tax = meal_cost * (tax_percent / 100.0);
double totalCost = (meal_cost + tip + tax);
Console.WriteLine("The total meal cost is {0} dollars", Convert.ToInt32(totalCost));
}
static void Main(string[] args) {
double meal_cost = Convert.ToDouble(Console.ReadLine());
int tip_percent = Convert.ToInt32(Console.ReadLine());
int tax_percent = Convert.ToInt32(Console.ReadLine());
solve(meal_cost, tip_percent, tax_percent);
}
}
然而,尽管我的输出是相同的(甚至在舍入之前),hackerrank仍然将我的解决方案标识为它的测试用例上的“失败”,而不是我的自定义测试用例。对此有什么解释吗?
注:HackerRank提供的公式实际上是(餐费)x税百分比/100我刚刚写下了实施方案
最佳答案
你犯了个小错误。你本该使用dollars
的时候却使用了dollars.
。
对代码进行更改后,它在https://www.hackerrank.com/challenges/30-operators/problem处传递。