函数题 6-12 判断奇偶性【PAT】
文章目录
- 题目
- 函数接口定义
- 裁判测试程序样例
- 输入样例1
- 输出样例1
- 输入样例2
- 输出样例2
- 题解
- 解题思路
- 完整代码
- AC代码
编程练习题目集目录
题目
要求实现判断给定整数奇偶性的函数。
函数接口定义
int even( int n );
其中 n n n 是用户传入的整型参数。当 n n n 为偶数时,函数返回 1 1 1; n n n 为奇数时返回 0 0 0。注意: 0 0 0 是偶数。
裁判测试程序样例
#include <stdio.h>
int even(int n);int main()
{int n;scanf("%d", &n);if (even(n))printf("%d is even.\n", n);elseprintf("%d is odd.\n", n);return 0;
}
/* 你的代码将被嵌在这里 */
输入样例1
-6
输出样例1
-6 is even.
输入样例2
5
输出样例2
5 is odd.
题解
解题思路
先判断传入函数的数字是否为 0 0 0,如果是 0 0 0,直接返回 1 1 1;如果小于 0 0 0,则求其绝对值(乘以 − 1 -1 −1 或者用 a b s abs abs 函数),然后对其求模取余,如果余数等于 0 0 0 则说明是偶数,返回 1 1 1,否则返回 1 1 1 即可。
完整代码
#include <math.h>
#include <stdio.h>int even( int n );int main()
{int n;scanf("%d", &n);if (even(n))printf("%d is even.\n", n);elseprintf("%d is odd.\n", n);return 0;
}/* 你的代码将被嵌在这里 */
int even(int n)
{if (n == 0){return 1;}else if (abs(n) % 2 == 0){return 1;}elsereturn 0;
}
AC代码
int even(int n)
{if (n == 0)return 1;else if (n < 0)n *= -1;if (n % 2 == 0)return 1;elsereturn 0;
}