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");

}

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-06-09

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

一、数学定义:

凡是可以被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
...

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

第2个回答  2013-09-22
#include <stdio.h>
void main ()
{
int n;
printf("输入数据n;\n");
scanf("%d",&n);
if(n%2==0)
printf("n是偶数\n");
else
printf("n是奇数\n");
}
最好自己多敲敲
第3个回答  2020-07-29
//这个方法也许是最快的
#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);
}
第4个回答  2013-09-22
int a;
if(a%2==0){"为偶数"}
else {"为奇数"}
相似回答