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");
}
}
方法有很多种,具体分析如下:
一、数学定义:
凡是可以被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
...
还可以扩展出很多更复杂的判断表达式,不过由于并不直观,也不够高效,仅适用于练习,而无实际应用价值。
void main ()
{
int n;
printf("输入数据n;\n");
scanf("%d",&n);
if(n%2==0)
printf("n是偶数\n");
else
printf("n是奇数\n");
}
最好自己多敲敲
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);
}
if(a%2==0){"为偶数"}
else {"为奇数"}