📅  最后修改于: 2023-12-03 15:00:13.510000             🧑  作者: Mango
以下是一个C程序,用于检查一个整数是否是2的幂。
#include <stdio.h>
int isPowerOfTwo(int number)
{
if (number == 0) {
return 0; // 0不是2的幂
}
while (number != 1) {
if (number % 2 != 0) {
return 0; // 如果数字不是偶数,说明不是2的幂
}
number /= 2; // 不断除以2,直到数字为1
}
return 1; // 数字是2的幂
}
int main()
{
int number;
printf("请输入一个整数:");
scanf("%d", &number);
if (isPowerOfTwo(number)) {
printf("%d 是2的幂", number);
} else {
printf("%d 不是2的幂", number);
}
return 0;
}
这个程序通过循环和除法操作来判断一个整数是否是2的幂。首先,如果数字是0,则不是2的幂;然后,如果数字不是偶数,则也不是2的幂;最后,通过多次除以2,直到数字变为1,确认数字是2的幂。
程序运行时会要求输入一个整数,然后判断该整数是否是2的幂,并输出相应的结果。
请确保你的编译环境中包含了标准C库(stdio.h)。
希望这个程序对你有帮助!