我的功能应该是用户输入美元和可选的便士并将其转换为所有美分结果。但由于某些原因,我得到的数字比数学应该产生的数字更大。这是我的代码。
#include
这个输出是5060和4000.我很困惑,因为5次100加6应该产生506,就像评论所指出的那样。我不确定为什么5次100和6次得到506的结果。从数学上来说,我不能看出我的错误,但也许是因为我的代码有原因?
答案 0 :(得分:0)
您应该从NumberOfPennies返回totalPennies(而不是在NumberOfPennies中打印)。现在,您在NumberOfPennies(506)中打印正确的结果,然后添加您返回的0。
答案 1 :(得分:0)
不知道你为什么在参数中加上penny = 0; 如果需要,请覆盖该方法。
额外的“0”来自NumberOfPennies中的“return 0”。
在main函数中,您打算输出NumberOfPennis(5,6)的值,该值的值为0,这就是为什么得到5060而不是506的原因。
答案 2 :(得分:0)
你必须像电脑一样思考。
Public <= x , CrimeType == y and Year == z.
指示计算机拨打const express = require('express')
const app = express()
app.use(express.static('public')) //adds content of public folder
app.get('/', function (req, res){
res.sendFile('/views/index.html', {root: __dirname})
})
app.listen(1337, function (){
console.log('lab5-server.js listening on 1337')
})
并打印出<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<h1> <center> Welcome to Matt's Page </center></h1>
<center> <img src = "images/AlgorithmofSuccess.jpg"/> </center>
返回的值。
但是在cout << NumberOfPennies(5, 6) << endl;
内,您
NumberOfPennies
在返回数字0之前打印减少的便士数,在这种情况下为506。
所以
输出
NumberOfPennies
我认为有两种选择是合理的:
NumberOfPennies
或cout << totalPennies;
并在 5060
totalPennies^^return value
我的偏好是选项2,因为它使NumberOfPennies
的责任仅限于做一件事:计算便士的数量。如果totalPennies
除了计算之外什么都不做,那么任何函数现在都可以调用main
并对结果执行任何操作,包括print。例如,在另一个计算中使用NumberOfPennies
或甚至作为自身的输入:
NumberOfPennies
所以
NumberOfPennies
请注意,NumberOfPennies
的返回类型已更改为匹配NumberOfPennies(64, NumberOfPennies(3,6));
,并且#include <iostream>
using namespace std;
int NumberOfPennies(int dollars, int pennies = 0)
{
int totalPennies = (dollars * 100) + pennies;
return totalPennies;
}
int main()
{
cout << NumberOfPennies(5, 6) << endl; // Should print 506
cout << NumberOfPennies(4) << endl; // Should print 400
return 0;
}
不再初始化为零,因为该零会立即被计算结果覆盖。这意味着如果我们想要,我们也可以更进一步:
NumberOfPennies