C语言刷题系列——1.将三个整数按从大到小输出

简介: C语言刷题系列——1.将三个整数按从大到小输出

1.输入三个整数


先写好main函数、头文件

#include <stdio.h>
int main()
{
  return 0;
}


调用scanf()函数,输入三个整数

#include <stdio.h>
int main()
{    int a = 0,b = 0,c = 0; //创建一个变量就给他初始化是个好习惯
     scanf("%d %d %d",&a,&b,&c);
  return 0;
}


2.最大的值放在a中,最小值放在c中,剩余的一个放在b


前提我让a存这三个数中的最大值,c存最小值,b存剩下的那个

思路:a、b、c依次比较


step1:a和b比较

a和b比较,如果a比b大,那就不用管a和b了;如果a比b小,就要把a、b的值交换,看下面这段代码

if(a < b)
{  a = b;
   b = a;
}


这样显然是错的,因为上面这两个表达式执行时,(假设输入a = 1,b = 5)a = b,把b的值赋给a,此时a = 5。继续执行b = a,会发现b还是5。


就好比两个杯子a、b分别装的红酒和橙汁,现在我想让杯子a装橙汁,b装红酒,那肯定要借助第三个杯子tem,让b里的橙汁先倒入tem,再将a中的红酒倒入b,最后把tem中的橙汁倒入a,问题就解决了~

因此,可以这样写:

if(a < b)
{  int tem = b;  
   b = a;
   a = tem
}


这样,输入的前两个数中,大的那个就赋给了a,小的那个赋给了b


step2:a和c比较

要使a中存三个数中最大的那个,a b比较完了就要比较a c了

如果a > c,就不需要操作

如果a < c,跟上面同理

if(a < c)
{  int tem = c;  
   c = a;
   a = tem;
}


step3:b和c比较

经过step1和step2,a中已经存了这三个数中最大的那个

接下来只需要让c是剩下那俩数中较小的内个

if (b < c)
{   int tem = b;
    b = c;
    c = tem;
}


3.最终的代码


把上面三部分合起来,再依次print出a、b、c的值,排序就完成了

#include <stdio.h>
int main()
{ 
     int a = 0,b = 0,c = 0; 
     scanf("%d %d %d",&a,&b,&c);
     if(a < b)
         {  int tem = b;  
            b = a;
            a = tem;
         }
     if(a < c)
         {  int tem = c;  
            c = a;
            a = tem;
         }
     if (b < c)
        {   int tem = b;
            b = c;
            c = tem;
        }
       //最后abc按顺序输出即可
    printf("%d %d %d \n",a,b,c);
  return 0;
}
相关文章
|
2月前
|
编译器 C语言
C语言中整数如何自动转换为浮点数
C语言中整数如何自动转换为浮点数
88 0
|
存储 算法 C语言
C语言刷题~Leetcode与牛客网简单题
C语言刷题~Leetcode与牛客网简单题
|
14天前
|
C语言
pta 浙大版《C语言程序设计(第3版)》题目集 习题6-6 使用函数输出一个整数的逆序数 (20分)
pta 浙大版《C语言程序设计(第3版)》题目集 习题6-6 使用函数输出一个整数的逆序数 (20分)
|
17天前
|
C语言
C语言刷题1
C语言刷题1
419 0
|
17天前
|
存储 编译器 C语言
C语言基础知识:数据在内存中的存储解析(整数,浮点数)
C语言基础知识:数据在内存中的存储解析(整数,浮点数)
|
2月前
|
C语言
【C语言】求一个整数的二进制序列中1的个数的三种方法
【C语言】求一个整数的二进制序列中1的个数的三种方法
16 0
|
2月前
|
存储 人工智能 小程序
C语言第二十八弹---整数在内存中的存储
C语言第二十八弹---整数在内存中的存储
|
2月前
|
C语言
C语言刷题:整数加逗号、删除公共字符、求最小公倍数和将字符串倒置
C语言刷题:整数加逗号、删除公共字符、求最小公倍数和将字符串倒置
30 0
|
2月前
|
存储 C语言
在C语言中编写,用于从键盘接收输入的整数并判断该数是否能被3整除
在C语言中编写,用于从键盘接收输入的整数并判断该数是否能被3整除
25 0
|
C语言
《C语言及程序设计》实践参考——输出这样的整数
返回:贺老师课程教学链接  项目要求 【项目3:输出这样的整数】输出1000以内能被3整除且个位数为6的所有整数。请在下面代码的基础上完成程序: #include &lt;stdio.h&gt; int main( ) { int i, j; for (i=0; _________; i++) // (1) { j=i*10+6;
868 0