【问题标题】:C++ function that returns 0,1 or -1返回 0,1 或 -1 的 C++ 函数
【发布时间】:2017-11-22 08:48:20
【问题描述】:

我是编程新手,我在用 C++ 编写函数时遇到了麻烦,该函数将整数“n”作为参数并从键盘读取“n”整数, 返回以下值之一:

  • 0 ,如果所有整数都是偶数;
  • 1,如果所有整数都是奇数;
  • -1 ,如果所有整数中有偶数和奇数;

如何在不使用数组作为“n”值的情况下做到这一点?

【问题讨论】:

  • 你已经知道如何命名函数了吗?:)
  • 你将如何处理数组?
  • n = 0 会发生什么?
  • 使用一个变量来存储前一个数字是奇数还是偶数。然后对于每个数字,检查它是否与前一个数字具有相同的均匀度。如果您收到的数字与前一个数字的均匀度不同,请设置一个布尔变量,指示并非所有数字都具有相同的均匀度。处理完nth 输入后,您可以仅从这两个布尔值中确定答案。
  • 你应该展示你到目前为止所做的事情,以便我们为你提供帮助。

标签: c++ function return


【解决方案1】:

检查数字n 次是偶数还是奇数。为偶数和奇数创建两个计数器,并相应地递增计数器。最后,返回-1 表示偶数/奇数,0 表示偶数,1 表示奇数。

注意 - 在 C、C++ 中,非零值是 true,而零被视为 false

int check(int n){
    int even=0, odd=0, num;

    for(int i=0;i<n;i++){
        cin>>num;
        if(num % 2 == 0)
            even++;
        else
            odd++;
        }

    if(even && odd){ 
        return -1;
    }else if(even){
        return 0;
    }else
        return 1;
}

【讨论】:

    【解决方案2】:

    保留两个计数器,一个用于偶数个数,一个用于奇数个数。对于每个数字,您增加相应的计数器。然后在你读完所有的数字之后,你看看计数器。如果偶数计数器为0则返回1,如果奇数计数器为0则返回0,否则返回-1。

    【讨论】:

      猜你喜欢
      • 2014-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-11
      • 1970-01-01
      • 2015-10-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多