二 程序阅读题 1 阅读下面程序,写出程序的运行结果。
#include“string.h”main(){intt,a,b,c,d;a=78b=88;c=68;d=98;if(a>b){t=a;a=b;b=t;}if(a>c)...
#include “string.h”
main()
{
int t,a,b,c,d;
a=78
b=88;
c=68;
d=98;
if(a>b)
{
t=a;a=b;b=t;
}
if (a>c)
{
t=a;a=c;c=t;
}
if (a>d)
{
t=a;a=d;d=t;
}
if (b>c)
{
t=b;b=c;c=t;
}
if (b>d)
{
t=b;b=d;d=t;
}
if (c>d)
{
t=c;c=d;d=t;
}
printf(“A=d%,B=d%,D=d%\n”,a,b,c,d);
}
大家帮帮忙哈,急急!! 展开
main()
{
int t,a,b,c,d;
a=78
b=88;
c=68;
d=98;
if(a>b)
{
t=a;a=b;b=t;
}
if (a>c)
{
t=a;a=c;c=t;
}
if (a>d)
{
t=a;a=d;d=t;
}
if (b>c)
{
t=b;b=c;c=t;
}
if (b>d)
{
t=b;b=d;d=t;
}
if (c>d)
{
t=c;c=d;d=t;
}
printf(“A=d%,B=d%,D=d%\n”,a,b,c,d);
}
大家帮帮忙哈,急急!! 展开
1个回答
展开全部
每一个if语句成立时,所作的操作就是把两个元素的值互换,t是作为中间变量的。
所以,第一个if(a>b)不成立,直接跳到第二个if
第二个if(a>c) 成立,交换a,c 即a=68,c=78,然后执行第三个if
第三个if(a>d) 不成立,直接跳到第四个if
第四个if(b>c) 成立 交换b c 即b=78 ,c=88,然后跳到第五个if
第五个if(b>d) 不成立,所以直接跳到第六个if
第六个if(c>d) 不成立,所以直接跳到printf
此时 a=68 ,b=78 c=88 d= 98
程序的作用就是把a,b,c,d从小到大排序重新赋值
所以,第一个if(a>b)不成立,直接跳到第二个if
第二个if(a>c) 成立,交换a,c 即a=68,c=78,然后执行第三个if
第三个if(a>d) 不成立,直接跳到第四个if
第四个if(b>c) 成立 交换b c 即b=78 ,c=88,然后跳到第五个if
第五个if(b>d) 不成立,所以直接跳到第六个if
第六个if(c>d) 不成立,所以直接跳到printf
此时 a=68 ,b=78 c=88 d= 98
程序的作用就是把a,b,c,d从小到大排序重新赋值
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询