比较俩个数字的大小

简介: 比较俩个数字的大小

对于比较俩个数字的大小,不同人有着不同的见解!(暗指多种方法),在此,笔者仅仅领悟了俩种简单的写法,求各位斧正


法一:定义第三个变量类型,这个方法是最简单也是身为小白的我,最容易想象出来的;


话不多说,直接上代码!


允许定义新变量


#include <stdio.h>
int main()
{
    int x, y,a;
    printf("请输入俩个数字:  \n");
    scanf_s("%d,%d", &x, &y);
    a = x;
    x = y;
    y = a;
    printf("%d,%d", x, y);
    return 0;
}


0a2653c851af460fa595bd959398a8f1.png



在这里面a作为传说中的第三者出现,首先,通过=赋值运算符,将x的值赋值给a,然后在进行一系列的a,x,y之间的交换,将x与y之间的数字进行交换


运行结果如下图所示:


6de278e6d6694ce5bb08e7e842b7e74b.png


在这里的代码中:三者之间的变换顺序很重要!


第二种方法!笔者绞尽脑汁,参考众多资源,最终,在掉了一撮毛发的艰辛不易之下,终于思考出来了,从此,我也可以说,笔者也能用俩种方法进行俩个数字之间的交换了!


话不多说,代码直接上就是!


//给定俩个整型变量的值,将两个数字进行交换
//不允许定义新变量
#include <stdio.h>
int main()
{
    int x, y;
    scanf_s("%d,%d", &x, &y);
    x = x + y;
    y = x - y;
    x = x - y;
    printf("%d,%d", x, y);
    return 0;
}


0a2653c851af460fa595bd959398a8f1.png



在这里,注意代码间的逻辑顺序


x = x + y;

   y = x - y;

   x = x - y;


经过我的认真思考,最终想出代码精华部分,传授给各位大佬。


首先,将俩个数字的和,进行相加,即 x = x + y;部分,在之后的代码,都是在这个基础上进行的运算。    y = x - y; x = x - y;代码简单逻辑顺序,在看着这个代码时候感觉确实不是很难,但是对于无厘头的漫天去思考,确实为难!


最终的运行结果如下图所示:


6de278e6d6694ce5bb08e7e842b7e74b.png


结尾:


可能对于俩数字交换的方法有不同见解,但是笔者目前仅仅只能思考出来最为简单的俩种。求斧正


相关文章
数组外面包了引号,怎么去掉外面的引号,变成原来的数组
数组外面包了引号,怎么去掉外面的引号,变成原来的数组
60 0
|
8月前
|
存储 算法
每日一题 (不用加减乘除做加法,找到数组中消失的数字)
每日一题 (不用加减乘除做加法,找到数组中消失的数字)
41 0
|
8月前
|
C++ 索引
字符串中的第一个唯一字符(C++)
字符串中的第一个唯一字符(C++)
67 0
|
8月前
|
Java
【剑指offer】- 第一个只出现一次的字符位置-34/67
【剑指offer】- 第一个只出现一次的字符位置-34/67
C语言第二十八弹--输入一个非负整数,返回组成它的数字之和
C语言第二十八弹--输入一个非负整数,返回组成它的数字之和
|
C语言
C语言之将长整型数中每一位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。
C语言之将长整型数中每一位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。
271 0
题目:下列给定程序中函数fun的功能是:从p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。
题目:下列给定程序中函数fun的功能是:从p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。
118 0
顺序打印整型数字的每一位
顺序打印整型数字的每一位
55 0
|
存储 机器学习/深度学习
母牛的故事 替换空格 二进制中1的个数 不使用第三个变量交换a,b的值
母牛的故事 替换空格 二进制中1的个数 不使用第三个变量交换a,b的值
97 0
|
索引
字符串中的第一个唯一字符
字符串中的第一个唯一字符
84 0

热门文章

最新文章