给定数字n,任务是使用Lex程序检查给定的n是偶数还是奇数。
例子:
Input : 10
Output : Even
Input : 5
Output : Odd
先决条件: FLEX(快速词法分析器生成器)
偶数是可以被2“整除”的整数。这意味着,如果将整数除以2,则不会产生余数,也不会产生0的余数。类似地,奇数是不能被2整除的整数,剩下的1将被保留。
下面是上述方法的实现:
/*Lex program to take check whether
the given number is even or odd */
%{
#include
int i;
%}
%%
[0-9]+ {i=atoi(yytext);
if(i%2==0)
printf("Even");
else
printf("Odd");}
%%
int yywrap(){}
/* Driver code */
int main()
{
yylex();
return 0;
}
输出: