题目:输入任意大小的三个整数,判断其中是否有两个奇数一个偶数。若是,则输出“YES”,不是则输出“NOT” (要求用条件表达式进行判断,不使用if语句)
在我刚开始的时候,使用了条件关系式,一共判断了三次,如下:
k = (a% 2 == 0) ? (b % 2 != 0)&&(c % 2 !=0):0;
k = (b% 2 == 0) ? (a % 2 != 0)&&(c % 2 !=0):0;
k = (c% 2 == 0) ? (b % 2 != 0)&&(a % 2 !=0):0;
如上:浪费大量时间,不够优化。
下面是优化优化之后的代码,(奇数%2的值都是1,所以两奇一偶的合一定是2,)
源代码:
#include<stdio.h>
int main()
{
int a1, a2, a3;
int ret = 0;
puts("输入三个整数:");
scanf("%d%d%d", &a1, &a2, &a3);
puts("输出YES表示两个奇数一个偶数,否则输出NO:");
((a1%2+a2%2+a3%2)==2)?printf("YES\n"):printf("NO\n");
return 0;
}
祝大家都能写出漂亮的代码!!!
最后:书于2024年3月23日下午,于西安