(第15列)C语言:输入三个数,进行排序。思路简单,代码还挺长的--------两种方法。

简介: (第15列)C语言:输入三个数,进行排序。思路简单,代码还挺长的--------两种方法。

题目:键盘输入三个数,进行大小排序。


直接入正题,不说废话:


第一种方式,这种方式思路简单,代码太长!

用if语句:(if语句无限嵌套,不推荐!)

#include<stdio.h>
int main()
{
  int x,y,z,s;
  printf("请输入三个数;");
  scanf("%d %d %d",&x,&y,&z);
  if(x>y){
    if(x>z)
    {
      if(y>z)
      {
        printf("大小顺序为:%d>%d>%d",x,y,z);
      }
      else
      {
        s=y;y=z;z=s;
        printf("大小顺序为:%d>%d>%d",x,y,z);
      }
    }
    else
    {
      s=x;x=z;z=s;
      if(y>z)
      {
        printf("大小顺序为:%d>%d>%d",x,y,z);
      }
      else
      {
        s=y;y=z;z=s;
        printf("大小顺序为:%d>%d>%d",x,y,z);
      }
    }
  }
  else
  {
    s=x;x=y;y=s;
    if(x>z)
    {
      if(y>z)
      {
        printf("大小顺序为:%d>%d>%d",x,y,z);
      }
      else
      {
        s=y;y=z;z=s;
        printf("大小顺序为:%d>%d>%d",x,y,z);
      }
    }
    else
    {
      s=x;x=z;z=s;
      if(y>z)
      {
        printf("大小顺序为:%d>%d>%d",x,y,z);
      }
      else
      {
        s=y;y=z;z=s;
        printf("大小顺序为:%d>%d>%d",x,y,z);
      }
    }
  }
  return 0;
}


第二种方式,函数加指针:(推荐!)

#include<stdio.h>
//声明一个空函数,交换两个数的值
void exchange(int *,int *);
int main(void)
{
  int x,y,z;   //定义变量,存放变量
  int *a,*b,*c;  //定义指针
    //输入
  printf("请输入三个数:");
  scanf("%d %d %d",&x,&y,&z);
    //指针指向变量的地址
  a=&x;
  b=&y;
  c=&z;
    //变量进行比较,变量的地址进行交换
  if(x<y){
    exchange(a,b);
  }
  if(x<z){
    exchange(a,c);
  }
  if(y<z){
    exchange(b,c);
  }
  printf("从大到小的顺序为:%d>%d>%d",x,y,z);
} 
//定义
void exchange(int *i,int *j)
{
  int p;
  p=*i;*i=*j;*j=p;//交换变量的地址
}


运行结果:


相关文章
|
1月前
|
存储 安全 数据管理
C语言之考勤模拟系统平台(千行代码)
C语言之考勤模拟系统平台(千行代码)
55 4
|
25天前
|
存储 算法 程序员
C 语言递归算法:以简洁代码驾驭复杂逻辑
C语言递归算法简介:通过简洁的代码实现复杂的逻辑处理,递归函数自我调用解决分层问题,高效而优雅。适用于树形结构遍历、数学计算等领域。
|
27天前
|
传感器 人工智能 物联网
C 语言在计算机科学中尤其在硬件交互方面占据重要地位。本文探讨了 C 语言与硬件交互的主要方法,包括直接访问硬件寄存器、中断处理、I/O 端口操作、内存映射 I/O 和设备驱动程序开发
C 语言在计算机科学中尤其在硬件交互方面占据重要地位。本文探讨了 C 语言与硬件交互的主要方法,包括直接访问硬件寄存器、中断处理、I/O 端口操作、内存映射 I/O 和设备驱动程序开发,以及面临的挑战和未来趋势,旨在帮助读者深入了解并掌握这些关键技术。
44 6
|
1月前
|
存储 安全 物联网
C语言物联网开发之设备安全与代码可靠性隐患
物联网设备的C语言代码安全与可靠性至关重要。一是防范代码安全漏洞,包括缓冲区溢出和代码注入风险,通过使用安全函数和严格输入验证来预防。二是提高代码跨平台兼容性,利用`stdint.h`定义统一的数据类型,并通过硬件接口抽象与适配减少平台间的差异,确保程序稳定运行。
|
26天前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
57 1
|
1月前
|
搜索推荐 算法 C语言
【排序算法】八大排序(上)(c语言实现)(附源码)
本文介绍了四种常见的排序算法:冒泡排序、选择排序、插入排序和希尔排序。通过具体的代码实现和测试数据,详细解释了每种算法的工作原理和性能特点。冒泡排序通过不断交换相邻元素来排序,选择排序通过选择最小元素进行交换,插入排序通过逐步插入元素到已排序部分,而希尔排序则是插入排序的改进版,通过预排序使数据更接近有序,从而提高效率。文章最后总结了这四种算法的空间和时间复杂度,以及它们的稳定性。
104 8
|
1月前
|
搜索推荐 算法 C语言
【排序算法】八大排序(下)(c语言实现)(附源码)
本文继续学习并实现了八大排序算法中的后四种:堆排序、快速排序、归并排序和计数排序。详细介绍了每种排序算法的原理、步骤和代码实现,并通过测试数据展示了它们的性能表现。堆排序利用堆的特性进行排序,快速排序通过递归和多种划分方法实现高效排序,归并排序通过分治法将问题分解后再合并,计数排序则通过统计每个元素的出现次数实现非比较排序。最后,文章还对比了这些排序算法在处理一百万个整形数据时的运行时间,帮助读者了解不同算法的优劣。
123 7
|
2月前
|
算法 C语言
【C语言】排序查找
【C语言】排序查找
|
2月前
|
存储 搜索推荐 C语言
深入C语言指针,使代码更加灵活(二)
深入C语言指针,使代码更加灵活(二)
|
2月前
|
存储 程序员 编译器
深入C语言指针,使代码更加灵活(一)
深入C语言指针,使代码更加灵活(一)