- 前言
- 一、判断是否为整数
- ①错误示范
- ②正确示范
- 二、判断是奇数还是偶数
- 总结
前言
提示:涉及到【判断】,自然而然要考虑【分支结构】(if、switch)。
此处要判断两个条件:
1. 是否为整数。
2. 是奇数还是偶数。
一、判断是否为整数 ①错误示范
思路:整数与否 —— 小数点之后 有无数值
自己罗列了几个(非)整数值
a = 5、6、7
b = 5.9、6.23、7.891
比较、发现规律
0 == a * 10 % 10
0 != b * 10 % 10
1 #include2 int main(){ 3 double a; 4 printf("请输入一个整数:"); 5 scanf("%d",&a); 6 if(0 != a*10%10) 7 printf("您输入的不是整数!"); 8 else{ 9 printf("您输入的是整数!"); 10 } 11 }
行6 [Error] invalid operands of types 'double' and 'int' to binary 'operator%'
行6 [报错] 类型“double”和“int”对于二进制“运算符%”是无效的运算对象
原因:%取余数一般用于整型之间,变量a非整型。
②正确示范使用 floor() 向下取整
6 if(floor(a + 0.5) == a)
第一行要加上 #include
参考于https://www.csdn.net/tags/NtDaUgysNTM2ODMtYmxvZwO0O0OO0O0O.html
二、判断是奇数还是偶数
奇数偶数的关键——能否被2整除(余数为0)
代码如下(示例):
#includeint main(){ int a; printf("请输入一个整数:"); scanf("%lf",&a); if(1 == a%2) printf("输入的整数为“奇数”。"); else printf("输入的整数为“偶数”。"); }
总结
#include#include int main(){ double a; printf("请输入一个整数:"); scanf("%lf",&a); while(a != floor(a + 0.5)){ printf("您输入的不是整数!"); printf("请重新输入:"); scanf("%lf",&a); } if(1 == (int)a%2) printf("输入的整数为“奇数”。"); else printf("输入的整数为“偶数”。"); }



