C语言程序设计-交换排序法(三个数降序排序)

题目:

编写一个C程序,从用户那里接收三个整数输入,并将这三个整数按照降序排列后输出。

实现思路:

  1. 声明一个整数数组a,长度为3,用于存储用户输入的三个整数。
  2. 提示用户输入三个整数,并用逗号分隔。
  3. 使用scanf函数读取用户输入的三个整数,并存储在数组a中。
  4. 使用嵌套循环实现冒泡排序算法,对数组a中的元素进行降序排列。
  5. 输出排序后的数组a中的元素。

代码:

#include <stdio.h>    
  
int main() {    
    int a[3]={}, i, j, t; // 声明一个长度为3的整数数组a,并初始化。同时声明循环变量i, j和临时变量t。  
  
    printf("Import 3 num:\n"); // 输出提示信息,要求用户输入三个整数。  
    scanf("%d,%d,%d",&a[0],&a[1],&a[2]); // 使用scanf函数读取用户输入的三个整数,并存储在数组a中。  
  
    for(i=0; i<3; i++){ // 外层循环,遍历数组a中的每个元素。  
        for(j=0; j<3; j++){ // 内层循环,与外层循环结合,实现冒泡排序。  
            if(a[i] < a[j]){ // 如果当前元素a[i]小于后面的元素a[j],则交换它们的位置。  
                t = a[i]; // 将a[i]的值保存在临时变量t中。  
                a[i] = a[j]; // 将a[j]的值赋给a[i]。  
                a[j] = t; // 将保存在t中的原a[i]的值赋给a[j]。  
            }  
        }  
    }  
  
    printf("%d %d %d",a[0],a[1],a[2]); // 输出排序后的数组a中的元素。  
  
    return 0; // 程序正常结束,返回0。  
}

解读:

  1. #include <stdio.h>:包含标准输入输出头文件,以使用printfscanf等函数。
  2. int main() { ... }:程序的主函数。
  3. int a[3]={}, i, j, t;:声明一个长度为3的整数数组a,并初始化。同时声明循环变量ij,以及临时变量t用于交换元素。
  4. printf("Import 3 num:\n");:输出提示信息,告诉用户需要输入三个整数。
  5. scanf("%d,%d,%d",&a[0],&a[1],&a[2]);:使用scanf函数读取用户输入的三个整数,并存储在数组a中。注意,这里假设用户输入的整数之间用逗号分隔。
  6. 嵌套循环for(i=0; i<3; i++)for(j=0; j<3; j++):实现冒泡排序算法,对数组a中的元素进行降序排列。
  7. if(a[i] < a[j]):判断当前元素a[i]是否小于后面的元素a[j]
  8. t = a[i]; a[i] = a[j]; a[j] = t;:如果a[i]小于a[j],则交换它们的位置。
  9. printf("%d %d %d",a[0],a[1],a[2]);:输出排序后的数组a中的元素。
  10. return 0;:程序正常结束,返回0。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彪哥.TOP

稀罕作者

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值