思考:
1.任意给定三个数,如何通过两两比较,逐步确定三个数的大小关系
此刻就要借助 if ...else 语句的帮助了
if(表达式) 如果表达式为真,则执行语句1,否则执行语句2,当然也可以用多个 if else嵌套
语句1
else
语句2
2.不妨引入一个中间变量,借助这个中间变量,把两个变量的值相互交换
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a, b, c, t;
printf("请输入三个数:\n");
scanf("%d %d %d", &a, &b, &c);
if(a<b)
{
t = a;
a = b;
b = t;
}
if(b<c)
{
t = c;
b = c;
c = t;
}
if(a<c)
{
t = c;
a = c;
c = t;
}
printf("三个数从大到小的顺序是:%d、%d、%d", a, b, c);
return 0;
}
如果是将这三个数由小到大完成交换呢
1.将 printf("三个数从大到小的顺序是:%d、%d、%d", a, b, c); 里面的内容更改一下
printf("三个数从小到大的顺序是:%d、%d、%d", c, b, a);
这固然是一种方法,那有没有别的思路呢
2.更改 if 里面的逻辑关系
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a, b, c, t;
printf("请输入三个数:\n");
scanf("%d %d %d", &a, &b, &c);
if(a > b)
{
t = a;
a = b;
b = t;
}
if(b > c)
{
t = b;
b = c;
c = t;
}
if(a > c)
{
t = a;
a = c;
c = t;
}
printf("三个数从小到大的顺序是:%d、%d、%d", a, b, c);
return 0;
}
此外如果是多个数进行排序,还会有更多的算法等待着你