为什么输入5和7返回值一直为0呢

#include<stdio.h>
int main(){
int m,n,sum;
scanf("%d %d",&m,&n);
if(m%2==1&&n%2==1){
sum=(nm+1)/2;
}
else if((m%2==1&&n%2==0)||(n%2==1&&n%2==0)){
sum=(m
n-m-n)/2;
}
else if(m%2==0&&n%2==0){
sum=m*n/2;
}
printf("%d",sum);
return 0;

}

没有啊,

img

你第六行和第九行m和n之间少个*号

img

img

你是不是写错了

第二个else if中第二个条件把m误写成n了


#include <stdio.h>
#include <stdlib.h>

int main() {
    int m,n,sum;
    scanf("%d %d",&m,&n);
    if(m%2==1&&n%2==1) {
        sum=(n*m+1)/2;
    } else if((m%2==1&&n%2==0)||(n%2==1&&n%2==0)) {
        sum=(m*n-m-n)/2;
    } else if(m%2==0&&n%2==0) {
        sum=m*n/2;
    }
    printf("%d",sum);
    return 0;

}

img

区别:

img