gpt4 book ai didi

检查数字是否为 2 的幂,以及输入是否为数字

转载 作者:太空宇宙 更新时间:2023-11-04 06:17:06 25 4
gpt4 key购买 nike

<分区>

我想检查数组中的数字是否是 2 的幂。

我写了下面的代码,但它不起作用,它跳过了检查数字是否为 2 的幂并打印最后一句话的部分。

此外,如果有人可以帮助我检查输入是否是数字而不是任何其他字符。谢谢你!更新两件事的力量是有效的,但我仍然没有弄清楚如何检查输入是否是数字而不是任何其他字符

   #include <stdio.h>
#include <stdlib.h>
int main()
{
int x;
int i;
int k;
int count=0;
int a;
int sum=0;
printf("Enter size of input:\n");
scanf("%d",&x);
int *numbers=malloc(sizeof(int)*x);
if (x<0){
printf("Invalid size\n");
}
else {
printf("Enter numbers:\n");
for(i=0;i<x;++i){
scanf("%d",&numbers[i]);

}
}
for(k=0;k<x;++k)
{
count=0;
a=numbers[k];
while (((numbers[k] % 2) == 0) && numbers[k] > 1){ /* While x is even and > 1 */
numbers[k]/= 2;
++count;
}
if (numbers[k]==1&&a!=1){
printf("The number %d is a power of 2:%d=2^%d\n",a,a,count);
sum+=count;
}
}
printf("Total exponent num is %d\n",sum);
return 0;
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com