(第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;//交换变量的地址
}


运行结果:


相关文章
|
3月前
|
NoSQL 编译器 程序员
【C语言】揭秘GCC:从平凡到卓越的编译艺术,一场代码与效率的激情碰撞,探索那些不为人知的秘密武器,让你的程序瞬间提速百倍!
【8月更文挑战第20天】GCC,GNU Compiler Collection,是GNU项目中的开源编译器集合,支持C、C++等多种语言。作为C语言程序员的重要工具,GCC具备跨平台性、高度可配置性及丰富的优化选项等特点。通过简单示例,如编译“Hello, GCC!”程序 (`gcc -o hello hello.c`),展示了GCC的基础用法及不同优化级别(`-O0`, `-O1`, `-O3`)对性能的影响。GCC还支持生成调试信息(`-g`),便于使用GDB等工具进行调试。尽管有如Microsoft Visual C++、Clang等竞品,GCC仍因其灵活性和强大的功能被广泛采用。
130 1
|
17天前
|
搜索推荐 算法 C语言
【排序算法】八大排序(上)(c语言实现)(附源码)
本文介绍了四种常见的排序算法:冒泡排序、选择排序、插入排序和希尔排序。通过具体的代码实现和测试数据,详细解释了每种算法的工作原理和性能特点。冒泡排序通过不断交换相邻元素来排序,选择排序通过选择最小元素进行交换,插入排序通过逐步插入元素到已排序部分,而希尔排序则是插入排序的改进版,通过预排序使数据更接近有序,从而提高效率。文章最后总结了这四种算法的空间和时间复杂度,以及它们的稳定性。
63 8
|
17天前
|
搜索推荐 算法 C语言
【排序算法】八大排序(下)(c语言实现)(附源码)
本文继续学习并实现了八大排序算法中的后四种:堆排序、快速排序、归并排序和计数排序。详细介绍了每种排序算法的原理、步骤和代码实现,并通过测试数据展示了它们的性能表现。堆排序利用堆的特性进行排序,快速排序通过递归和多种划分方法实现高效排序,归并排序通过分治法将问题分解后再合并,计数排序则通过统计每个元素的出现次数实现非比较排序。最后,文章还对比了这些排序算法在处理一百万个整形数据时的运行时间,帮助读者了解不同算法的优劣。
56 7
|
1月前
|
算法 C语言
【C语言】排序查找
【C语言】排序查找
|
1月前
|
存储 搜索推荐 C语言
深入C语言指针,使代码更加灵活(二)
深入C语言指针,使代码更加灵活(二)
|
1月前
|
存储 程序员 编译器
深入C语言指针,使代码更加灵活(一)
深入C语言指针,使代码更加灵活(一)
|
1月前
|
Java 编译器 C语言
【一步一步了解Java系列】:Java中的方法对标C语言中的函数
【一步一步了解Java系列】:Java中的方法对标C语言中的函数
22 3
|
1月前
|
C语言
深入C语言指针,使代码更加灵活(三)
深入C语言指针,使代码更加灵活(三)
深入C语言指针,使代码更加灵活(三)
|
2月前
|
安全 C语言
在C语言中,正确使用运算符能提升代码的可读性和效率
在C语言中,运算符的使用需要注意优先级、结合性、自增自减的形式、逻辑运算的短路特性、位运算的类型、条件运算的可读性、类型转换以及使用括号来明确运算顺序。掌握这些注意事项可以帮助编写出更安全和高效的代码。
50 4
|
1月前
|
C语言
C语言练习题代码
C语言练习题代码