c语言:编程:判断一个数的奇偶性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言:编程:判断一个数的奇偶性相关的知识,希望对你有一定的参考价值。

#include<stdio.h>

main()

inta;

printf("输入一个整数:");

scanf("%d",&a);

if(a%2==0)

printf("为偶数");

else

printf("为奇数");

return0;

扩展资料

输入一个字符,编程判断该字符,大写字母、小写字母、空格

#include<stdio.h>

voidmain()

charch;

inta;

ch=getchar();

if(ch>='a'&&ch<='z')

ch='1';

if(ch>='A'&&ch<='Z')

ch='2';

if(ch=='')

ch='3';

switch(ch)

case'1':printf("xiao\\n");break;

case'2':printf("da\\n");break;

case'3':printf("空格\\n");break;

default:printf("qita");

参考技术A

方法有很多种,具体分析如下:

一、数学定义:

凡是可以被2整除的,称为偶数;否则为奇数。

二、C语言中最常用的判断方式:

根据定义,只需对2取余即可,所以可以通过取余运算符%,判断奇偶性。

要对整数n判断,则可以:

if(n%2==0) //可以整除为偶数
//这里判断可以写作 !(n%2) 等效。

if(n%2==1) //不能整除为奇数。
//这里判断也可以写作n%2,或者n%2!=0,都是等效的。

三、最高效的判断方式:

计算机中都是以二进制存储,而判断是否可以被2整除,实际上只需要判断二进制最后一位即可。

所以对整数n进行判断奇偶性可以写作:

if(n&1==0) //最低位为0,表示偶数。
//这里判断可以写作 !(n&1) 等效。


if(n&1==1) //最低位为1,表示奇数。
//这里判断也可以写作n&1,或者n&1!=0,都是等效的。

四、其它方法:

利用数学规则或者C语言运算,还可以写作很多其它形式,比如判断为偶数还可以写作:

n/2*2==n
((n>>1)<<1) == n
(n+1)/2==n/2
(n-1)/2!=n/2
...

还可以扩展出很多更复杂的判断表达式,不过由于并不直观,也不够高效,仅适用于练习,而无实际应用价值。

参考技术B #include <stdio.h>
void main ()

int n;
printf("输入数据n;\n");
scanf("%d",&n);
if(n%2==0)
printf("n是偶数\n");
else
printf("n是奇数\n");

最好自己多敲敲
参考技术C //这个方法也许是最快的
#include<stdio.h>
#include<stdlib.h>

void InputError(void); // 输出错误信息

int main(void)

int a = 1;
char num[BUFSIZ];
printf("请输入一个整数:");
gets_s(num, BUFSIZ);

if (num[0] == '0') // 非0整数的首位不得为0

if (num[1] != '\0')
InputError();

else if (num[0] == '-' || num[0] == '+') // “+0”和“-0”表示都不规范

if (num[1] == '0')
InputError();

else if (num[0] < '0' || num[0] > '9') // 整数不能包含除“+”“-”“0”...“9”外的字符
InputError();

while (num[a]) // 检查每一个字符

if (num[a] < '0' || num[a] > '9')
InputError();
a++;


if (num[a - 1] & 0x01)
printf("%s是一个奇数。", num);
else
printf("%s是一个偶数。", num);

system("pause");


void InputError(void)

printf("输入错误!!!");
exit(1);
参考技术D int a;
if(a%2==0)"为偶数"
else "为奇数"

c语言编程 奇偶归一猜想步数 急求,多谢!!

对于每一个正整数,如果它是奇数,则对它乘3加1,如果是偶数,则对它除2,如此循环,最终能够得到1.如n=11,得序列,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1,共有14个步骤.输入正整数n,求这个n有多少步能归一.

例如输入

11

输出

14

#include<stdio.h>
int main()
    int n,cnt=0;
    scanf("%d",&n);
    while(n!=1)
        if(n%2==0) n=n/2;
        else n=n*3+1;
        cnt++;
    
    printf("%d\\n",cnt);
    return 0;

参考技术A #include<stdio.h>
int main()
int n,cnt=0;
scanf("%d",&n);
while(n!=1)
if(n%2==0) n=n/2;
else n=n*3+1;
cnt++;

printf("%d",n);
return 0;

以上是关于c语言:编程:判断一个数的奇偶性的主要内容,如果未能解决你的问题,请参考以下文章

C语言:编写一个程序,判断一个整数的奇偶性。如果是奇数,输入1,是偶数,输入2?

判断整数奇偶性的程序C语言?

c语言如何判断奇偶数?

c语言中如何判定ascii码值的奇偶性

C语言 定义函数判断奇偶性

Lucas定理的运用及组合数奇偶性的判断