编写一个c程序,输入n个八位数,如果该位上为非0,则改变成1,否则为0,输出变后的八位数
时间: 2023-10-23 21:12:42 浏览: 128
好的,以下是一个符合您要求的C语言程序:
```c
#include <stdio.h>
int main()
{
int n;
printf("请输入数字个数:");
scanf("%d", &n);
printf("请输入八位数字(每个数字中间用空格隔开):\n");
for (int i = 0; i < n; i++)
{
int num;
scanf("%d", &num);
for (int j = 7; j >= 0; j--)
{
if ((num >> j) & 1)
num |= (1 << j);
else
num &= ~(1 << j);
}
printf("%08d ", num);
}
printf("\n");
return 0;
}
```
这个程序首先读入数字个数n,然后循环读入n个八位数字,对于每个数字,它会从高位到低位依次判断该位是不是非0,如果是,就将该位上的数字改为1,否则改为0,最后输出变化后的八位数字。注意,这里使用了位运算符来进行位操作。
阅读全文