C语言连续0的最大长度,为显目起见,小李需要用红色涂出这些连续的0,请编写程序,帮他找到最长连续0的长度
时间: 2023-06-19 21:07:05 浏览: 92
求最长子序列 c语言编写
5星 · 资源好评率100%
以下是一种 C 语言实现方式:
```c
#include <stdio.h>
int main() {
unsigned int num;
printf("请输入一个整数:");
scanf("%u", &num);
int max_len = 0, cur_len = 0;
while (num) {
if (num & 1) {
cur_len = 0;
} else {
cur_len++;
if (cur_len > max_len) {
max_len = cur_len;
}
}
num >>= 1;
}
printf("最长连续0的长度为:%d\n", max_len);
return 0;
}
```
该程序首先读入一个无符号整数,然后通过移位运算和按位与运算来判断出最长连续0的长度。具体来说,程序遍历整数的每一个二进制位,如果当前位为0,则更新当前连续0的长度,如果当前位为1,则重置当前连续0的长度为0。同时,如果当前连续0的长度超过了之前的最大长度,则更新最大长度。最终输出最长连续0的长度即可。
阅读全文