if(a>b){/*如果a>b,就交换a和b的值*/
temp=a;
a=b;
b=temp;
}
if(a>c){/*如果a>c,就交换a和c的值*/
temp=a;
a=c;
c=temp;
}
/*以上两个if语句是为了找出三个数中的最小值,并保存在a中*/
if(b>c){/*如果b>c,就交换b和c的值*/
temp=b;
b=c;
c=temp;
}
/*这个if语句是为了从小到大排出b和c的顺序,至此,排序过程结束*/
tmep是个临时变量,用于交换a,b,c的变量值。
是比较两个数大小,如果前一个数比后一个数大,就交换变量
关於temp,举个例子来理解
比如说:一个人一只手只能拿一个水果,我们左手(变量a)拿了一个苹果,右手(变量b)拿了一个梨,现在想把它俩换一下手,怎麼办呢?只好我伸出一支手(变量temp)来帮你,你先将苹果给我(temp=a),然后把梨交给原来拿苹果的手(a=b),最后我再把苹果给你原来拿梨的手(b=temp);所以两个数交换就是这个原理了.
这有什么看不懂的呢? temp就是起个 中介的作用,两个数的值通过 temp来转换一下,没有什么别的作用,不要怕麻烦,仔细看看
main()
{
int a,b,c,temp; 建立三个数
printf("input three numbers\n");
scanf("%d%d%d",&a,&b,&c); 输入
if(a>b){
temp=a;
a=b;
b=temp;
} 如果A>B A的值给TEMP B的值给A 再吧TEMP的值给B AB交换了 TEMP的临时变量就是用来存放交换前A的值的 如果首先吧B的值就给了A 没有TEMP的话 那么A的值就丢掉了
if(a>c){
temp=a;
a=c;
c=temp;
} 如果A>C AC交换
if(b>c){
temp=b;
b=c;
c=temp;
} 如果B>C BC交换 三个语句以后 A一定是最小的 C一定是最大的
printf("%d %d %d\n",a,b,c);
getch();
} TEMP没有临时存放一下 没有实际意义
main()
{
int a,b,c,temp;
printf("input three numbers\n"); //窗口输出"input three numbers"
scanf("%d%d%d",&a,&b,&c); //自己输入三个数,分别是a,b,c
//判断a,b的大小关系,如果a>b时,将a,b值相互对调,即最终使b>a
if(a>b){
temp=a;
a=b;
b=temp;
}
////判断a,c的大小关系,如果a>c时,将a,c值相互对调,即最终使c>a
if(a>c){
temp=a;
a=c;
c=temp;
}
////判断b,c的大小关系,如果b>c时,将b,c值相互对调,即最终使c>b
if(b>c){
temp=b;
b=c;
c=temp;
}
//上面三个判断语句最终使c>b>a
printf("%d %d %d\n",a,b,c); //输出a,b,c
getch();
}
只是一个简单的变量啊!!然后把两数进行交换 ,就像是把两个碗中的醋和酒交换需要第三个碗一样!!