C语言程序中的布尔数组难题?
在这里,我们将看到一个布尔数组难题。一个数组具有两个元素0和1。我们必须将所有元素都设为0。我们应该考虑一些规范-
在数组中,一个元素为0,这是固定的,但我们不知道该元素的位置是什么
另一个元素可以是0或1
此处仅允许补码运算,不能执行其他运算
我们不能使用分支和循环语句
我们不能将0直接分配给数组元素
我们可以用不同的方式解决这个问题。其中有三个-
方法1-
示例
#include <iostream>
using namespace std;
void makeZero(int arr[2]) {
arr[ arr[1] ] = arr[ !arr[1] ];
}
int main() {
int arr[] = {1, 0};
makeZero(arr);
cout<<"arr[0] = "<<arr[0]<<endl;
cout<<"arr[1] = "<<arr[1];
}输出结果
arr[0] = 0 arr[1] = 0
方法2-
示例
#include <iostream>
using namespace std;
void makeZero(int arr[2]) {
arr[ arr[1] ] = arr[ arr[0] ];
}
int main() {
int arr[] = {1, 0};
makeZero(arr);
cout<<"arr[0] = "<<arr[0]<<endl;
cout<<"arr[1] = "<<arr[1];
}输出结果
arr[0] = 0 arr[1] = 0
方法3-
示例
#include <iostream>
using namespace std;
void makeZero(int arr[2]) {
arr[0] = arr[arr[0]];
arr[1] = arr[0];
}
int main() {
int arr[] = {1, 0};
makeZero(arr);
cout<<"arr[0] = "<<arr[0]<<endl;
cout<<"arr[1] = "<<arr[1];
}输出结果
arr[0] = 0 arr[1] = 0
热门推荐
10 小红书平安祝福语简短
11 生日祝福语大全女孩简短
12 收生日红包祝福语 简短
13 领证幽默祝福语简短
14 法考面试祝福语简短
15 老哥出门祝福语简短语
16 送灯祝福语简短独特
17 幼儿狗年祝福语大全简短
18 好听的元旦简短祝福语