zoukankan      html  css  js  c++  java
  • P5715 题解

    这是洛谷分支结构题单的一题,题面自己去洛谷搜题号吧。
    这道题用到了排序算法,由于题目已经限制了abc的数据量大小,最大只到三位数而已,所以就没有必要使用快排堆排这种比较复杂的排序算法了,我们直接使用最简单的冒泡排序。

    冒泡排序(C++):

    #include <stdio.h>
    
    int sort(int* nums, int quantity)
    {
        for (int i = 0; i < quantity-1; i++) {
            // 遍历每一对数
            for (int j = 0; j < quantity-1-i; j++) {
                // 如果前一个数大于后一个数,则互相交换位置
                if(nums[j] > nums[j+1]) {
                    // 三变量法交换变量值
                    int temp = nums[j];
                    nums[j] = nums[j+1];
                    nums[j+1] = temp;
                }
            }
        }
    
        return 0;
    }
    

    记得后面要加上return 0;因为没有返回值的话洛谷评测机不会继续运行,会爆TLE(我第一次提交的时候就忘记写返回值了qvq)

    全部代码如下(C):

    /*
     Author: Kozumi
     Github: @Xuyang1638
     Blog: http://www.cnblogs.com/kozumi/
    */
    #include <stdio.h>
    
    int sort(int* nums, int quantity)
    {
        for (int i = 0; i < quantity-1; i++) {
            // 遍历每一对数
            for (int j = 0; j < quantity-1-i; j++) {
                // 如果前一个数大于后一个数,则互相交换位置
                if(nums[j] > nums[j+1]) {
                    // 三变量法交换变量值
                    int temp = nums[j];
                    nums[j] = nums[j+1];
                    nums[j+1] = temp;
                }
            }
        }
    
        return 0;
    }
    
    int main(void)
    {
        // 获取输入
        int num[3];
        // 其实可以用循环,但是懒得写了,直接copy吧
        scanf("%d", &num[0]);
        scanf("%d", &num[1]);
        scanf("%d", &num[2]);
        sort(num, 3);
        printf("%d %d %d
    ", num[0], num[1], num[2]);
    
        // 别忘了返回值
        return 0;
    }
    
  • 相关阅读:
    csv导入数据到mongodb3.2
    [转]教你十分钟下载并破解IntelliJ IDEA(2017)
    Richard Stallman:让我们关注和尊敬自由软件教父
    约翰·卡马克和他的id Software
    fvwm:还是觉得你最好
    《程序员修炼之道》读书心得
    平铺式窗口管理器 Musca 初体验
    最小主义:我的Musca桌面环境
    Vim,Emacs排名不分先后
    在Emacs中画思维导图
  • 原文地址:https://www.cnblogs.com/kozumi/p/12863023.html
Copyright © 2011-2022 走看看