酷代码 AI
菜单
服务商

用C++解决Alice交友的身高匹配问题

```cpp #include <iostream> #include <cmath> #include <algorithm> using namespace std; int main() { // 定义存储身高的数组 int heights[4]; // 输入4个小朋友的身高 for (int i = 0; i < 4; ++i) { cin >> heights[i]; } // Alice的身高是数组的第一个元素 int aliceHeight = heights[0]; // 初始化最接近身高和最小差距 int closestHeight = heights[1]; int minDiff = abs(aliceHeight - heights[1]); // 从第2个小朋友开始遍历后面的小朋友身高 for (int i = 2; i < 4; ++i) { // 计算当前小朋友与Alice的身高差距 int diff = abs(aliceHeight - heights[i]); // 如果当前差距小于最小差距,或者差距相同但当前小朋友更矮 if (diff < minDiff || (diff == minDiff && heights[i] < closestHeight)) { // 更新最接近身高和最小差距 closestHeight = heights[i]; minDiff = diff; } } // 输出最接近的身高 cout << closestHeight << endl; return 0; } ``` ### 代码解释 - 定义整型数组 `heights` 存储 4 个小朋友的身高。 - 使用 `for` 循环获取 4 个小朋友的身高。 - 用 `aliceHeight` 存储 Alice 的身高(即数组第一个元素)。 - 先假设第二个小朋友身高是最接近的,将其赋值给 `closestHeight`,并计算其与 Alice 的身高差赋值给 `minDiff`。 - 从第三个小朋友开始遍历,计算每个小朋友与 Alice 的身高差,若差距更小或者差距相同但更矮,就更新 `closestHeight` 和 `minDiff`。 - 最后输出 `closestHeight`。 ######[AI问答 | 469点数解答 | 2026-05-24 13:15:24]

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