判断偶数大小

来源:百度知道 编辑:UC知道 时间:2024/06/14 09:37:41
#include <stdio.h>
int main()
{
int a,b,c,max;
while(scanf("%d%d%d",&a,&b,&c))
{
if(a%2==0)
{
if(b%2==0&&b>=a)
max=b;
{
if(c%2==0&&c>=max)
max=c;
else
max=max;
}
if(b%2!=0)
{
if(c%2==0&&c>=a)
max=c;
else
max=a;
}
}
if(a%2!=0)
{
if(b%2==0&&c%2==0&&b>=c||b%2==0&&c%2!=0)
max=b;
if(b%2!=0&&c%2==0)
max=c;
if(a%2!=0&&b%2!=0&&c%2!=0)
max=0;
}

printf("%d\n",max);
}
return 0;
}

写出来只能判断正整数的 负证书就错误了 怎么在上面修改解决
Problem Description

求3个整数中的最大偶数。

Input
输入3个整数a,b,c。
有多个测试数据,处理到输入结束。

Output
每行一个偶数,输出内容为a,b,c中的最大偶数。若没有偶数,则输出0。

Sample Input
1 2 3
1 3 5
4 6 100

Sample Output
2

#include <stdio.h>
#define MAX 0x80000000 /* 32位最小负整数 */
void main()
{
long a,b,c,max=MAX;
while(scanf("%ld %ld %ld",&a, &b, &c) != 3)
{
if(a%2==0 && a>max)max=a;
if(b%2==0 && b>max)max=b;
if(c%2==0 && c>max)max=c;
if(max == MAX)
printf("0\n");
else
printf("%ld\n",max);
max=MAX;
}
getch();
}

#include<stdio.h>

int main(){

int num,a[3],i,*t=a;

while(scanf("%d%d%d",t,t+1,t+2) != EOF){
num = 0;
for(i=0;i<3;i++){

if(*t%2==0 && *t>num){
num = *t;
}
t++;
}
printf("%d\n",num);
t=a;
}

return 0;
}

取一下绝对值