问题1:题中i j是怎么转换的,
问题2:这样怎么就可以从小到大输出
用了一个中间变量t i,j,t 他们都是存储在内存单元里面的
如果 i>j
那么把
i的值放到t的内存里面
再把
j的值放到i的内存里面
再把
t的值放到j的内存里面
所以现在
i的内存里面就是j的值
j的内存里面是i的值
这3个if语句执行条件是
如果按i,j,k这样排序下来
前面的数比后面的数大
那就进行互换
if(i>j)
t=i;i=j;j=t; //这一步之后 i
t=i;i=k;k=t; //这一步之后i
t=j;j=k;k=t; //这一步之后 j
显然有i
#include
void main()
{
int i,j,k,t;
scanf("%d%d%d",&i,&j,&k);
if(i>j) {t=i;i=j;j=k;}
if(i>k) {t=k;k=i;i=k;}
if(j>k) {t=j;y=k;k=t;}
printf("small to big: %d %d %d\n",i,j,k);
}
if的执行语句请用{}括住,不然只有最近的一句才是它的执行语句
if(i>j)
{ t=i;i=j;j=t; } /*实现i与j的转换*/
if(i>k)
{ t=i;i=k;k=t; }
if(j>k)
{ t=j;j=k;k=t;}
t是个中介,你随便拿两个数来实验一下就知道了,这么简单的交换都不明白的话就不用学编程了.
我的C学的也不太好
if(i>j)
t=i;i=j;j=t
i
这样逐个赋值
i 的值就最小了
其实也不必深究
就是这样的
我就是记住的
Incurable