我的作业问题:
已经宣布了一系列名为parkingTickets的整数,并将其初始化为自当年年初以来城市警察每天发出的停车票数量.(因此,数组的第一个元素包含1月1日给出的票数;最后一个元素包含今天给出的票数.)
已声明并初始化名为ndays的变量以保存数组的大小.(因此,如果今天是1月18日,则ndays将具有值18;如果今天是2月3日,则ndays将具有值34.)
此外,已经声明了名为mostTickets的变量以及变量k.
如果不使用任何其他变量,并且不更改ndays的值或parkingTickets数组的元素,请编写一些代码,这些代码会导致mostTickets包含parkingTickets中找到的最大值.
为此,我有以下代码:
for(k = 0; k < ndays; k++) {
if (parkingTickets[k] > parkingTickets[ndays]) {
mostTickets = parkingTickets[k];
}
}
Run Code Online (Sandbox Code Playgroud)
但我的运动提交者说这是错的.我的代码出了什么问题?我也试过parkingTickets[ndays - 1]了,但那也行不通.
Bil*_*nch 11
C++也提供了std :: max_element.我怀疑你的老师是否希望你使用它,但是了解标准库可能会很好.
mostTickets = *std::max_element(parking_tickets, parking_tickets + ndays)
Run Code Online (Sandbox Code Playgroud)
小智 9
你的比较是错误的.您每次都将当前元素与最后一个元素进行比较.您需要做的是将当前元素与mostTickets进行比较.即
if(parkingTickets[k] > mostTickets)
Run Code Online (Sandbox Code Playgroud)
另外,为了更好的衡量,我建议将mostTickets初始化为parkingTickets [0].
| 归档时间: |
|
| 查看次数: |
7735 次 |
| 最近记录: |