C++问题(三个数由小到大输出)

2025-03-25 04:14:17
推荐回答(5个)
回答1:

问题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; //这一步之后 iif(i>k)
t=i;i=k;k=t; //这一步之后iif(j>k)
t=j;j=k;k=t; //这一步之后 j换3次之后
显然有i所以就这样啦

回答2:

#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);
}

回答3:

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是个中介,你随便拿两个数来实验一下就知道了,这么简单的交换都不明白的话就不用学编程了.

回答4:

我的C学的也不太好
if(i>j)
t=i;i=j;j=t
ii 的值就变小了
这样逐个赋值
i 的值就最小了
其实也不必深究
就是这样的
我就是记住的

回答5:

Incurable