gpt4 book ai didi

c++ - 你能在 C++ 中的数组 i,e(+, -, *,/) 中存储算术运算符吗

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:51:54 27 4
gpt4 key购买 nike

我想制作一个程序,它接受 4 个数字,例如(a、b、c 和 d),并检查使用算术运算符是否可以将前 3 个数字作为第四个数字的结果,就像输入是 (3 , 4, 5, 23) 这将检验为真,因为3 + 4 * 5 = 23,所以我想制作一个包含运算符的数组并使用循环来检查每个可能的组合,希望我说清楚了。

编辑:

它实际上是 codeforces 问题,给定 4 个数字。检查他是否可以通过在其他三个数字之间使用算术运算符(+,-,×)来得到第四个数字。知道一个运算符只能使用一次。以这种格式 ->(a□b□c=d)。我的问题是是否有办法让它自动,或者我是否必须手动编码每一种可能性对于我可能造成的任何困惑,我深表歉意。

最佳答案

您不能将运算符存储在数组中,但您可以为它们创建包装函数并将那些存储在数组中。

int add(int a, int b) {
return a + b;
}

int sub(int a, int b) {
return a - b;
}

int mul(int a, int b) {
return a * b;
}

int div(int a, int b) {
return a / b;
}

typedef int (*funptr)(int, int);

funptr arr[] = { add, sub, mul, div };

然后你可以这样称呼他们:

(arr[1])(2, 1)   // call sub(2, 1)

arr[1] 两边的括号在这种情况下不是必需的,但为了清楚起见,我想加上它们。

关于c++ - 你能在 C++ 中的数组 i,e(+, -, *,/) 中存储算术运算符吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52900557/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com