【初阶C语言】整数比大小

这篇具有很好参考价值的文章主要介绍了【初阶C语言】整数比大小。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 各位大佬的光临已是上上签

C语言刷题过程中,一定遇到过很多比大小的题目,那么本节就专门介绍比大小的方法,若大佬们还有更优解,欢迎补充呀!

本节讲解的方法主要有三种:1.条件判断  2.三目操作符  3.函数调用    4.数组判断

从两个数到多个数比较大小,其中,当有多个数比较的时候,利用数组的性价比达到最高。

一、两个数比大小

     我们先来两个数比较大小,慢慢进入状态。

题目:用C语言代码完成两个数的比较大小

解法1:

          选择语句(if...esle

我们先看代码:

#include<stdio.h>
int main()
{
	int a = 0;
	int b = 0;
	printf("请输入要比较大小的两个数\n");
	scanf("%d%d",&a,&b);
	int max = 0;//定义第三变量,用来存放较大的数
	if (a > b)//选择语句,不是a就是b
		max = a;
	else
		max = b;
	printf("%d\n",max);//打印一下最大值
	return 0;
}

运行结果:【初阶C语言】整数比大小,初阶C语言,c语言,开发语言

     第一种方法是比较简单,而且比较容易想到的。

解法2:

           三目运算符(exp1?exp2:exp3

我们先介绍一下三目操作符:exp1,2,3分别是三个表达式。如果表达式1为真,则执行表达式2;如果表达式1为假,则执行表达式3的内容。

图解: 

【初阶C语言】整数比大小,初阶C语言,c语言,开发语言

 介绍完成,我们看代码:

#include<stdio.h>

int main()
{
	int a = 0;
	int b = 0;
	printf("请输入要比较大小的两个数\n");
	scanf("%d%d",&a,&b);
	int max = 0;//以上的代码都是一样的
	max = a > b ? a : b;//这里需要用max接收它们的运行结果
	printf("%d\n",max);
	return  0;
}

运行结果:【初阶C语言】整数比大小,初阶C语言,c语言,开发语言

 这种相比选择语句的判断来说,代码量更加的简洁。

解法3:

          函数调用法(利用函数返回值)

这种方法相比上面的来说略向多余,不过我们也要了解一下。

我们直接看代码:

#include<stdio.h>
int Max(int x,int y)//定义两个形参接收实参
{
	if (x > y)
		return x;//这里可以直接返回最大值
	else
		return y;//x的值相当于a,y相当于b
}
int main()
{
	int a = 0;
	int b = 0;
	printf("请输入要比较大小的两个数\n");
	scanf("%d%d", &a, &b);
	int max = 0;
	max=Max(a,b);//这里把需要比较的数作为实参传给函数
	printf("%d\n",max);
	return  0;
}

 运行结果:【初阶C语言】整数比大小,初阶C语言,c语言,开发语言

该函数体内部也可以这么写:

int Max(int x, int y)
{
	return x > y ? x : y;
}

 整体的运行结果是一样的,不过第二种写法依然简洁。

二、三个数比大小

题目:用C语言代码比较出三个整数的最大值

解法1:

        选择语句(if...else

这里的写法与两个数比大小大体上相同,但是细微之处有差异

我们直接看代码:

#include<stdio.h>
int main()
{
	int a = 0, b = 0, c = 0;
	printf("请输入三个数\n");
	scanf("%d%d%d",&a,&b,&c);
	int max = 0;//定义最大值
	if (a > b)
		max = a;
	else
		max = b;//先找出两个数的最大值
	if (c > max)//再用最大值跟c比较
		max = c;//c大,再把c赋值为最大值;否则不需要改变
	printf("max=%d\n",max);
	return 0;
}

运行结果:【初阶C语言】整数比大小,初阶C语言,c语言,开发语言

 解法2:

           三目运算符(exp1?exp2:exp3

这里需要改变的思路跟上面的如出一辙,都是先比较出两个数中的最大值。

代码写法:

#include<stdio.h>
int main()
{
	int a = 0, b = 0, c = 0;
	printf("请输入三个数\n");
	scanf("%d%d%d", &a, &b, &c);
	int max = 0;//定义最大值
	max = a > b ? a : b;//先比较两个数的最大值
	max = c > max ? c : max;//再拿第三个数和最大值比较
	printf("max=%d\n", max);
	return 0;
}

运行结果【初阶C语言】整数比大小,初阶C语言,c语言,开发语言

 对比两种代码量:我们的三目运算符大哥依旧稳定发挥

解法3:

          函数调用

这种方法就是把解法1,2套到函数里面,思路如出一辙,这里我们就不细说了,想了解的话可以私信我呀!

三、四个数及以上

讲解到这里,也是到本节的重点内容了;我们直接往下看。

题目:输入4个整数,找出最大值

分析:与三个数比较大小的思想一样,需要先找出部分数的大小,再与剩下的数比较

解法1:

        选择语句(if...esle

直接看代码:

#include<stdio.h>
int main()
{
	int a = 0, b = 0, c = 0, d = 0;
	printf("请输入四个数\n");
	scanf("%d%d%d%d", &a, &b, &c, &d);
	int max1 = 0,max2=0;
	int max = 0;
	if (a > b)//找出ab中较大的数
		max1 = a;
	else
		max1 = b;
	if (c > d)//找出cd中较大的数
		max2 = c;
	else
		max2 = d;
	if (max1 > max2)//找出max1和max2中较大的数
		max = max1;
	else
		max = max2;
	printf("%d\n", max);

	return 0;
}

运行结果:【初阶C语言】整数比大小,初阶C语言,c语言,开发语言

 总的来说就是一个整体法,看成三组两个数比较大小。

解法2:

         三目操作符(exp1?exp2:exp3

我们直接看代码:

#include<stdio.h>
int main()
{
	int a = 0, b = 0, c = 0, d = 0;
	printf("请输入四个数\n");
	scanf("%d%d%d%d", &a, &b, &c, &d);
	int max1 = 0, max2 = 0;
	int max = 0;
	max1 = a > b ? a : b;//各自比较
	max2 = c > d ? c : d;//
	max = max1 > max2 ? max1 : max2;
	printf("%d\n", max);
	return 0;
}

运行结果:【初阶C语言】整数比大小,初阶C语言,c语言,开发语言

总结:以上两种解法都是两两比较大小,得出两个数再比较大小。 

 我们可以看到,三目运算法的代码量依旧很少;但是如果比较5个数?10个数呢?甚至更多呢?难道只能这样比较吗?答案当然不是的,这里有一种方法,数越多,效率越快,就是数组+循环的方法。

解法3:

        我们先介绍该方法的主要思想:假设,一个健身两年半的同学在班里面说,我们班需要有一个大哥,作为领头人,决出的方法就是一一对打,最后面胜出的为大哥。这个时候,有5个同学同学自认为自己很屌,站了出来。这个时候,假设健身两年半的是擂主,每次上去跟他对打,赢的同学作为擂主,再跟下一个同学对打,直到最后一个人胜出(假设对打不消化能量)

图解:【初阶C语言】整数比大小,初阶C语言,c语言,开发语言

 C语言思想:先假定一个最大值,剩下的值一一与最大值比较,大于最大值就交换,小于直接比较下一个。

代码:

#include<stdio.h>
int main()
{
	int arr[6] = { 10,20,-20,63,12,3 };//把需要比较的数放进一个数组里
	                               //需要比较多少个数可以自己决定
	int max = arr[0];//直接把第一个数(10)假设为最大值
	int i = 1;//只需要从第二个开始比较
	for (i=1;i<6;i++) 
	{
		if (max < arr[i])
			max = arr[i];//比max大就交换,反之不用
	}
	printf("max=%d\n",max);
	return 0;
}

运行结果:【初阶C语言】整数比大小,初阶C语言,c语言,开发语言

 上述方法可以比较多个数的大小,10个,100个都没有问题,只需要适当修改数组大小和循环的次数即可。

注意:本章介绍的比较大小都是整数,小数不可以使用,需要把int改成double等一系列调整。另外,int存放的值不易太大,会越界。

四、总结

1.比较大小的通用方法是数组+循环

2.数字少时,三目运算符的代码较简便

3.两种思想:两两比较和先确定最大值文章来源地址https://www.toymoban.com/news/detail-673679.html


到了这里,关于【初阶C语言】整数比大小的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 整数转换-C语言/Java

    描述 整数转换。编写一个函数,确定需要改变几个位才能将整数A转成整数B。A,B范围在[-2147483648, 2147483647]之间。 示例1: 示例2: 输入:A = 1,B = 2  输出:2 分析: 确定需要改变几个位才能将整数A转成整数B是说A需要改变几个二进制位才能转换为B,也就是A中有几个不同于

    2024年02月15日
    浏览(31)
  • C语言——整数各位数字求和

    我算是发现了,我是不管敲什么代码,都会崩【裂开】,甚至电脑管家说我写的东西是木马(其实我的程序没问题奥,放心看),还有,定义函数真的好方便 【问题描述】 编写函数int sum(int x),求整数x的各位数字之和。编写一个程序,调用sum函数计算任一输入的整数的各位

    2024年02月07日
    浏览(305)
  • 【C语言初阶(八)】初阶指针详解

    💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:C语言学习分享⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习更多C语言知识   🔝🔝 我们在介绍C语言时已经给大家介绍过指针的概念以及内存地址的概念了,这里我们就不再重复说明前面的内容,对指针毫无了解的

    2024年02月09日
    浏览(35)
  • 【初阶C语言】初阶结构体详细讲解

    结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。 例如描述一个学生: 结构的成员可以是标量、数组、指针,甚至是其他结构体。 有了结构体类型,那如何定义变量,其实很简单。 结构体变量访问成员 结构变量的成员是通过点操作符(

    2023年04月12日
    浏览(27)
  • C语言整数和小数的存储

    计算机使用 二进制进行存储 、运算, 整数 在内存中存储使用的是 二进制补码   整数的2进制表⽰⽅法有三种,即 原码、反码和补码  三种表⽰⽅法均有 符号位 和 数值位 两部分,符号位都是⽤0表⽰“正”,⽤1表⽰“负”,⽽数值位最 ⾼位的⼀位是被当做符号位,剩余的

    2024年04月17日
    浏览(17)
  • 利用C语言去判断是否为整数

    整型 int: 例如: int a=-3.2;   ----  输出:-3             int b=4.75;  ----- 输出:4 直接取整数部分!!! 故引出判断方法: C语言中可以有强制转换类型的操作!!!  if (  float    ==    int )   return true;   ps:个人经验,心得理解分享! (仅供参考)

    2024年02月08日
    浏览(34)
  • c语言——输出一个整数的所有因数

      当对这段代码进行分块分析时,可以将其分为以下几个部分: 第一部分: 这部分代码包含了头文件 stdio.h 和 stdlib.h 的引入以及 main() 函数的定义。定义了一个整型变量 number ,用于存储用户输入的整数。还定义了一个整型变量 i ,用于循环计数。 通过 printf 函数打印出提示

    2024年02月12日
    浏览(32)
  • C语言实例:输出八进制,十进制,十六进制,指定位数整数,带符号整数,科学计数法表示的整数

    直接使用printf函数输出整数即可,例如: 输出结果为: %d是printf函数的格式控制符,用于输出整数。在printf函数中,%d会被替换成一个整数变量的值。例如,printf(“%d”, num)中%d将被num的值替换,从而输出num的值作为整数。 使用printf函数的格式控制符可以输出指定位数的整数

    2024年02月08日
    浏览(43)
  • 初阶C语言(一)-初识C语言

    抱歉啦,发完第一篇之后断更这么久,主要是因为发完上一篇之后,就进入了期末周,一直在复习,就没有找到合适的时间来更新,现在也放假啦,暑假让我们一起努力学习吧!按照我的规划,会从C语言开始学起,主要以更新学习笔记为主,有任何不对的地方,欢迎大家批评

    2024年02月16日
    浏览(27)
  • C语言完整版笔记(初阶,进阶,深刨,初阶数据结构)

    1.初阶: 1.1C语言初阶易忘知识点速记 2.进阶:  1.2C语言进阶易忘点速记 3.深剖: 2.1C语言重点解剖要点速记 2.2C语言重点解剖操作符要点速记   2.3C语言重点解剖预处理要点速记 2.4C语言重点解剖指针和数组要点速记 2.5C语言重点解剖内存管理函数要点速记 4.数据结构:

    2024年02月16日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包