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) 等效。
或
//这里判断也可以写作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
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语言:编程:判断一个数的奇偶性的主要内容,如果未能解决你的问题,请参考以下文章