永发信息网

C语言,4个数求最大数

答案:7  悬赏:50  手机版
解决时间 2021-04-27 09:20
  • 提问者网友:我没有何以琛的痴心不悔
  • 2021-04-26 12:28
C语言,4个数求最大数
最佳答案
  • 五星知识达人网友:蕴藏春秋
  • 2021-04-26 12:55
a?b:c是一个三目运算符,意思是当a为真时该表达式的直取b,a为假时该表达式的值取c。
该运算符的结合方向是从右至左,以你给的为例:
先判断c>d的真假,为真取c,假为d;然后判断b>c的真假,真为b,假为(c>d?c:d)的值;
最后判断a>b的真假,真为a,假为(b>c?b:c>d?c:d)的值
全部回答
  • 1楼网友:慢性怪人
  • 2021-04-26 17:28
求a,b,c,d中最大的数。
  • 2楼网友:北方的南先生
  • 2021-04-26 15:50
写这样语句的就是有毛病的人
先c>d?c:d 得到的值c1(c,d中大的那个)
b>c?b:c1 得到的值b1(b,c1中大的那个)
a>b?a:b1 得到的值a1(a,b1中大的那个)
a1就是最后的值 最大的那个
下面的那个printf同理
  • 3楼网友:痴妹与他
  • 2021-04-26 14:29
这是条件关系式,其实就是比较四个数字后输出最大值,就是说如果a>b是真值,那么就是第一个关系式的值为a,否则是b ;然后是a或者是b(a和b 中大的那个数字)和c比较,谁大就再和d比较,最后看四个数字那个是最大的。感觉是这样的,三目运算符连用了,C语言中,我觉得这不好。
  • 4楼网友:毛毛
  • 2021-04-26 13:53
求a,b,c,d中的最大数
如果a大于b,则是a,否则b
以此类推
  • 5楼网友:十年萤火照君眠
  • 2021-04-26 13:44
首先你的程序是错的 > ? : 这是三目运算符。
#include
int main(void)
{
int a,b,c,d;
printf("请输入四个数\n");
scanf("%d%d%d%d",&a,&b,&c,&d);
int MAX = a, MIN = a;
if(MAX < b)
MAX = b;
if(MAX < c)
MAX = c;
if(MAX < d)
MAX = d;
if (MIN > b)
MIN = b;
if (MIN > c)
MIN = c;
if (MIN > d)
MIN = d;
printf ("MAX = %d MIN = %d", MAX, MIN);
return 0;
}
给出正确,另一种可以用函数,更简单
  • 6楼网友:行路难
  • 2021-04-26 13:36
应该先拆开来看,这句的主体部分可拆成3句
a>b?a:b>c 此句的意思是如果a>b则得到的结果为变量a,printf输出的MAX就为a,否则为b>c。
b>c?b:c>d 如果上面得到的是b>c为结果,那么就可以继续到该句,同样的如果b>c则输出结果为b,否则为c>d。
c>d?c:d 如果上面得到的是c> d.则c>d的话就输出结果为c否则为d。
你可以将此句看出3个if语句。
if(a>b)
printf("%d",a);
else
if(b>c)
printf("%d",b);
else
if(c>d)
printf("%d",c);
else
printf("%d",d);
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯