c - 是否有任何运算符可用于附加 2 个计算?
问题描述
我正在做一些作业,我只使用基本操作。我需要编写一个给定正数的函数,计算该数字的整个一半。
我的问题是:
int half(int x, int y)
{
return x == 0 ? y : half(x-1-1, y+1) , x == 1 ? y : half(x-1-1, y+1);
}
我不知道是否存在任何运算符或连接这些计算的东西。在该行代码上,我尝试使用(,)。
我尝试使用 ( | ) 和 ( & ) 替换 ( , )。但我有很多错误。
#include <stdio.h>
int sum(int x, int y)
{
return y == 0 ? x : sum(x+1, y-1);
}
int half(int x, int y)
{
return x == 0 ? y : half(x-1-1, y+1) , x == 1 ? y : half(x-1-1, y+1);
}
int main(void)
{
int x;
int y=0;
scanf("%d", &x);
int z = half(x, y);
printf("%d\n", z);
return 0;
}
在这段代码中,我希望 6/2 的输出为 3,而 5/2 的输出为 2。
注意:函数 sum 虽然没有做任何事情,但我无法删除,因为作业说不要从代码中删除,也许我需要使用它。
解决方案
你可以||
把这些放在一起:
int half(int x, int y)
{
return x == 0 || x == 1 ? y : half(x-1-1, y+1);
}
推荐阅读
- visual-studio - 在 Visual Studio 2019 中引发用户处理的异常时如何不中断
- javascript - 强制计算变量更新(Firebase VueJS)
- c++ - 字符串散列 C++
- java - Java HTTP POST 请求不发送任何内容
- python - 将多个数据帧中的列转换为布尔值
- c++ - gluLookAt 问题 - 如何使曲线运动?
- python - 如何从 SVG 裁剪空白空间?
- python - 使用键过滤嵌套字典并获取字典中的项目
- windows - psexec 不工作,即使它说它可以工作
- apache2 - 只读服务器中的 Apache2 WebDAV 可写目录