寻找最大整数
为什么 2 5 4 3输入后不是得出最后X1被赋的值3,而得出了被赋的最大的值5.
???????? 因为再第二步时,x1的值就已经改变 x1最后的值是5,因为x1 = x2后,x1就变为了5,而后面的x3 > x1和x4 > x1的条件都不成立,所以不进行赋值操作 本帖最后由 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 ; #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]