如何解这两道c语言的题目,大家帮帮忙.感谢!

来源:百度知道 编辑:UC知道 时间:2024/06/18 08:13:22
第一题
main()
{int a=3,b=4,c=5,t=99;
if(b<a&&a<c) t=a;a=c;c=t;
if(a<c&&b<c) t=b;b=c;a=t;
printf("%d%d%d\n",a,b,c);
}
第二题
main()
{int a=5,b=4,c=3,d=2:
if(a>b>c) printf("%d\n",d);
else if((c-1>=d)==1) printf("%d\n",d+1);
else printf("%d\n",d+2);
}

第一题,按格式,缩进改写一下就非常容易看出来了:
main()
{
    int  a=3,b=4,c=5,t=99;
    if(b<a&&a<c)  t=a;
    a=c;
    c=t;
    if(a<c&&b<c)  t=b;
    b=c;
    a=t;
    printf("%d%d%d\n",a,b,c);
}

if后面的语句,只会执行一条语句,或者用花括号{}包含的一个语句段
所以输出结果是:4 99 99

第二题:
两个地方注意一下吧:
a>b>c 执行是这样的,先比较a>b 是否成立,根据题目,是成立的,所以这里是1,然后再判断 1>c ,这里失败,所以继续下一个条件的判断: (c-1>=d)==1, c-1是2,2>=d,成立,所以返回1,再比较 1==1 ,仍然成立,所以会输出 d+1的值,即3