Closed. This question needs details or clarity. It is not currently accepting answers. Learn more。
想改进这个问题吗?添加细节并通过editing this post澄清问题。
三年前关闭。
任务是编写一个程序,计算使其位逻辑和(a1或a2或a3…)等于111..1所需的无符号短整数的平均数。我真的很感谢你的帮助。编辑:这样适应,循环仍然没有退出。
}
想改进这个问题吗?添加细节并通过editing this post澄清问题。
三年前关闭。
任务是编写一个程序,计算使其位逻辑和(a1或a2或a3…)等于111..1所需的无符号短整数的平均数。我真的很感谢你的帮助。编辑:这样适应,循环仍然没有退出。
#include <stdio.h>
#include <time.h>
int main(){
int count=0;
unsigned short sum = 0;
unsigned short USHRT_MAX = 65535;
while(sum != USHRT_MAX ){
unsigned short r = (unsigned short)rand()%USHRT_MAX;
sum = sum | r;
count++;
}
printf("the answer is : %d numbers\n", count);
return 0;
}
最佳答案
sum=255
是一个赋值不比较运算符。除此之外,只要sum
不等于USHRT_MAX
,就要继续。如果在没有任何条件的情况下将return
指令写入循环,则循环将直接终止。
要获得不同的号码,您必须在循环中调用rand
。函数rand
返回int
类型的值。调整代码如下:
int main(){
int count=0;
unsigned short sum = 0;
while(sum != USHRT_MAX){
unsigned short r = (unsigned short)rand();
sum = sum | r;
count++;
}
printf("the answer is : %d numbers\n", count);
return 0;
}
关于c - C个逻辑位和(OR)等于最大无符号短数值的随机数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34641358/
10-12 16:10