【C初阶】三个数从大到小输出最详细讲解

简介: 三个数从大到小输出最详细讲解

 目录

1.大致写出代码的轮廓

2.逻辑引导

3.完整代码展示与调试:


1.大致写出代码的轮廓

//代码块1
int main() {
  int a = 0;
  int b = 0;
  int c = 0;
  int d = 0;
  scanf("%d %d %d", &a, &b, &c);
  printf("%d %d %d",a,b,c );
  return 0;
}

image.gif

2.逻辑引导

以如上代码为参考,如果想进一步实现从大到小的排列该如何处理呢?

需要比较a,b,c的大小,并将最大值赋给a,将最小值赋给c,剩下的值赋给b;

那么就需要实现三个变量之间的转换:

三个变量该如何转换呢?

两杯都盛有不同颜色水的杯子,如果想交换两个杯子中的水该如何交换呢?

那么必然需要第三个空杯子

image.gif编辑

//代码块2
  if (a < b)
    t = a;
    a = b;
    b = t;

image.gif

在代码块1中加入如上代码块2即可实现a与b的转换,

上面我们比较了a与b的大小,要想实现三个变量之间的转换还需要进行a与c,b与c的比较

3.完整代码展示与调试:

int main() {
  int a = 0;
  int b = 0;
  int c = 0;
  int t = 0;
  scanf("%d %d %d", &a, &b, &c);
  if (a < b)
  {
    t = a;
    a = b;
    b = t;
  }
  if (a < c)
  {
    t = a;
    a = c;
    c = t;
  }
  if (b < c)
  {
    t = b;
    b = c;
    c = t;
  }
  printf("%d %d %d",a,b,c );
  return 0;
}

image.gif

输入1 2 3

代码运行如下图:

image.gif


相关文章
|
存储 算法 C语言
二十个一乘以二十个二等于多少?C语言经典算法设计之大数乘法
二十个一乘以二十个二等于多少?C语言经典算法设计之大数乘法
1706 0
部落是一个魔法部落,部落中一共有n+1个人,小Biu是魔法部落中最菜的,所以他的魔力值为1,魔法部落中n个人的魔法值都不相同,第一个人的魔法值是小Biu的3倍,第二个人的魔法值是第一个人的3倍,以此类推。 现在小Biu想知道整个部落的魔法值和是多少?由于答案比较大,请把答案对1e9+7取模之后输出
部落是一个魔法部落,部落中一共有n+1个人,小Biu是魔法部落中最菜的,所以他的魔力值为1,魔法部落中n个人的魔法值都不相同,第一个人的魔法值是小Biu的3倍,第二个人的魔法值是第一个人的3倍,以此类推。 现在小Biu想知道整个部落的魔法值和是多少?由于答案比较大,请把答案对1e9+7取模之后输出
154 0
【C++百日刷题计划】Day2~数组的使用(请编程计算下列给出的二维数组周边元素之和)
【C++百日刷题计划】Day2~数组的使用(请编程计算下列给出的二维数组周边元素之和)
204 0
|
10月前
|
Java C语言 C++
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-基础练习 查找整数
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-基础练习 查找整数
60 0
|
10月前
|
C语言
每天一道C语言编程(3):有规律的数列输出
每天一道C语言编程(3):有规律的数列输出
97 0
|
10月前
|
Java 程序员
【Java编程实现 9 * 9 乘法表格打印四种形态,七种打法】
【Java编程实现 9 * 9 乘法表格打印四种形态,七种打法】
84 0
|
10月前
特别数的和(蓝桥杯)
特别数的和(蓝桥杯)
|
算法 搜索推荐 程序员
C语言第十四练——请输入一个数的逆序数
C语言第十四练——请输入一个数的逆序数
143 0
|
10月前
|
算法 Java
算法编程(三十):交替合并字符串
算法编程(三十):交替合并字符串
122 0