不要叹气o 2024-04-17 21:19 采纳率: 100%
浏览 13
已结题

小矮人的c++编程求解答

题目描述
白雪公主的七个矮人中的一个已经失踪了!她确信他最终会出现,但她需要知道自己的身高,因为她正在为他编织一件毛衣。以下是她对高度的回忆:
失踪的矮人比其他其他六个矮人都要高。
每个矮人的高度是一个正整数。
所有七个高度的平均值也是正整数。
给出其他六个小矮人的高度。请确定失踪矮人的高度。由于总有多种可能性,请返回与您拥有的信息相匹配的最小的可能性。(毕竟,矮人很小)
输入格式
一行,6个整数,每个整数范围[1,1000],第i个整数表示第i个小矮人的身高
输出格式
一个整数,表示失踪的小矮人的身高。
输入/输出例子1
输入:
1 2 3 4 5 6
输出:
7
这个关于小矮人的代码为什么我这样写运行不出来呢?求各位指点

#include<bits/stdc++.h>
using namespace std;
int main(){
    int i1,i2,i3,i4,i5,i6;
    cin>>i1>>i2>>i3>>i4>>i5>>i6;
    for(int i=1;i<=10000;i++)
    {
        if(i>i1&&i>i2&&i>i3&&i>i4&&i>i5&&i>i6&&((i+i1+i2+i3+i4+i5+i6)%7==0))
            cout<<i<<endl;
        break;
    }
    return 0;
}

  • 写回答

4条回答 默认 最新

  • GISer Liu 2024-04-17 22:23
    关注

    该回答引用自GPT-3.5,由博主GISer Liu编写:

    这段代码有几个问题:

    1. break语句放在了for循环的外面,导致循环只会执行一次就退出了,不会得到正确的结果。
    2. 循环的范围设置为了110000,这是不必要的,因为题目中已经给出了小矮人的身高范围为[1, 1000]
    3. 求失踪小矮人的身高时,应该找到满足条件的最小身高,但当前代码中没有这个限制。
      以下是修正后的代码:
      cppCopy code
      #include<bits/stdc++.h>
      using namespace std;
      int main() {
      int i1, i2, i3, i4, i5, i6;
      cin >> i1 >> i2 >> i3 >> i4 >> i5 >> i6;
      // 求出其他六个小矮人的身高总和
      int sum = i1 + i2 + i3 + i4 + i5 + i6;
      // 计算失踪小矮人的最小可能身高
      int min_height = INT_MAX;
      for (int i = 1; i <= 1000; ++i) {
      if (i != i1 && i != i2 && i != i3 && i != i4 && i != i5 && i != i6) {
      int total_height = sum + i;
      if (total_height % 7 == 0) {
      min_height = min(min_height, i);
      }
      }
      }
      cout << min_height << endl;
      return 0;
      }
      
      在这个修正后的代码中,我们先求出其他六个小矮人的身高总和,然后遍历可能的失踪小矮人身高,找到满足条件的最小身高。

    如果该回答解决了您的问题,请采纳!如果没有,请私信联系或评论您的疑惑

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 4月26日
  • 已采纳回答 4月18日
  • 创建了问题 4月17日