酷代码 AI
菜单
服务商
DeepSeek字节豆包讯飞星火
更多选项

【入门】门票定价问题的 C++ 实现

下面是解决该问题的 C++ 代码: ```cpp #include <iostream> using namespace std; int main() { int n; // 输入 n 的值 cin >> n; int maxIncome = 0; int bestPrice = 30; // 从 30 元开始,逐步增加票价 for (int price = 30; price <= 30 + 1200 / n; price++) { // 计算当前票价下售出的门票数量 int tickets = 1200 - (price - 30) * n; // 计算当前票价下的总门票收入 int income = price * tickets; // 如果当前收入大于最大收入,更新最大收入和最佳票价 if (income > maxIncome) { maxIncome = income; bestPrice = price; } } // 输出最佳票价和最大收入 cout << bestPrice << " " << maxIncome << endl; return 0; } ``` ### 代码解释 1. **输入处理**:首先,程序通过 `cin` 读取用户输入的整数 `n`,它表示票价每增加 1 元,售出的门票减少的数量。 2. **初始化变量**:`maxIncome` 用于记录最大的总门票收入,初始化为 0;`bestPrice` 用于记录能获得最大收入的门票价格,初始化为 30 元。 3. **循环遍历票价**:使用 `for` 循环从 30 元开始,逐步增加票价,直到票价达到 `30 + 1200 / n`。在每次循环中,计算当前票价下售出的门票数量 `tickets` 和总门票收入 `income`。 4. **更新最大收入和最佳票价**:如果当前的总门票收入 `income` 大于 `maxIncome`,则更新 `maxIncome` 和 `bestPrice`。 5. **输出结果**:输出最佳票价和最大收入。 ######[AI问答 | 484点数解答 | 2026-04-26 13:50:25]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]