题目描述
摘要:本文来自一道 C 语言编程题,要求实现
even(n)函数判断整数奇偶性。题目给出了函数接口定义、裁判测试程序样例及输入输出示例,并提供了两种具体实现:函数部分的独立实现和包含完整main函数的完整代码实现。
本题要求实现判断给定整数奇偶性的函数。
函数接口定义:
int even( int n );其中n是用户传入的整型参数。当n为偶数时,函数返回1;n为奇数时返回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); else printf("%d is odd.\n", n); return 0; } /* 你的代码将被嵌在这里 */输入样例1:
-6输出样例1:
-6 is even.输入样例2:
5输出样例2:
5 is odd.函数部分实现
/* 返回 1 表示偶数,0 表示奇数 */inteven(intn){inttemp;if(n==0)return1;/* 0 是偶数 */if(n<0)n=-n;/* 负数取正,奇偶性不变 */if(n>0)temp=n%2;/* 取余判断奇偶 */if(temp==1)return0;/* 余 1 -> 奇数 */elsereturn1;/* 否则 -> 偶数 */}代码部分实现
/* 6-12 判断奇偶性 * 题目:实现函数 even(n),判断 n 的奇偶性。 * 返回 1 表示偶数,返回 0 表示奇数。 * 实现原理:利用“偶数对 2 取余为 0,奇数为 1”的性质。 * n==0 直接判为偶数;n<0 先取相反数不影响奇偶性; * 再用 n%2 判断:余 1 为奇数返回 0,否则返回 1。 * 时间复杂度 O(1),空间复杂度 O(1)。 */#include<stdio.h>inteven(intn);intmain(){intn;scanf("%d",&n);if(even(n))printf("%d is even.\n",n);elseprintf("%d is odd.\n",n);return0;}/* 返回 1 表示偶数,0 表示奇数 */inteven(intn){inttemp;if(n==0)return1;/* 0 是偶数 */if(n<0)n=-n;/* 负数取正,奇偶性不变 */if(n>0)temp=n%2;/* 取余判断奇偶 */if(temp==1)return0;/* 余 1 -> 奇数 */elsereturn1;/* 否则 -> 偶数 */}