原来是我错付了 发表于 2022-10-22 19:32:14

寻找最大整数


为什么 2 5 4 3输入后不是得出最后X1被赋的值3,而得出了被赋的最大的值5.
????????

wp231957 发表于 2022-10-22 19:36:01

因为再第二步时,x1的值就已经改变

临时号 发表于 2022-10-22 19:37:58

x1最后的值是5,因为x1 = x2后,x1就变为了5,而后面的x3 > x1和x4 > x1的条件都不成立,所以不进行赋值操作

jackz007 发表于 2022-10-22 19:44:40

本帖最后由 jackz007 于 2022-10-22 20:30 编辑

      max = (x1 > x2 && x1 > x3 && x1 > x4) ? x1 : (x2 > x1 && x2 > x3 && x2 > x4) ? x2 : (x3 > x1 && x3 > x2 && x3 > x4) ? x3 : x4 ;
         或者:
max = (x1 > x2) ? x1 : x2 ;
if(x3 > max) max = x3   ;
if(x4 > max) max = x4   ;

傻眼貓咪 发表于 2022-10-22 20:38:46

#include <stdio.h>

int main()
{
    int num, max = -2147483648;
    char c = 0;
    do {
      scanf("%d%c", &num, &c);
      num > max ? max = num: 0;
    }
    while (c != '\n');
    printf("max: %d", max);
    return 0;
}2 8 4 9 7 6 1 5 3
max: 9
页: [1]
查看完整版本: 寻找最大整数