C语言程序实现:简单排序与最大公约数

【C语言】实现求两个数的最大公约数【四种算法】 题目 给定两个数,求这两个数的最大公约数 例如: 输入:20 40 输出:20 解题思路 最大公约数:即两个数据中公共约数的最大者 求解的方式比较多,暴力穷举、辗转相除法、更相减损法、Stein算法算法 方法一:辗转相除法(推荐此方法) 思路: 例子:18和24的最大公约数 第一次:a = 18 b = 24 c = a%b = 18%24 = 18 循环中:a = 24 b=18 第二次:a = 24 b = 18 c = a%b = 24%18 = 6 循环中:a = 18 b 阅读详情

简单排序

  • 桶排序:也就是将对应的数存放入相应的数组内
#include<stdio.h>
int main()
{
	int arr[5] = {5,9,2,5,1};
	int brr[10] = {0};
	int i = 0;
	for(i = 0 ;i < 5;i++)
	{
		brr[ arr[i] ]++;
	}
	
	for(i =0 ;i < 10;i++)
	{
		while(brr[i] > 0)
		{
			printf("%d ",i);
			brr[i] --;
		}
	}
	return 0 ;
}
  • 冒泡排序法:每次比较两个相邻的元素,如果它们的顺序错误就把它们交换
    过来。
#include<stdio.h>
int main()
{
	int arr[10] ={0};
	int i = 0,j=0;
	int t =0;
	for(i =0;i < 10;i++)
	{
		scanf("%d",&arr[i]);
	}
	
	//冒泡排序
	for(i = 1;i < 10;i++)
	 {
	 	for(j = 0;j < 10-i;j++)
	 	{
	 		if(arr[j] > arr[j+1])
	 		{
	 			t = arr[j];
	 			arr[j] = arr[j+1];
	 			arr[j+1] = t;
	 		}
	 	}
	 }
	for(i = 0 ;i < 10; i ++)
	{
		printf("%d ",arr[i]);
	}
	return 0;
}

最大公约数

辗转相除法:求a与b的最大公约数,如果a除以b可以整除,则b为最大公约数,不然则用b除以上一步余数,如可以整除,则上一步余数为最大公约数,否则,用当前获得的余数除以上一步的余数,直到能整除为止。此时作为除数的那个数就是最开始那两个数的最大公约数。
在这里插入图片描述

#include<stdio.h>
int main()
{
	int a = 80;
	int b = 150;
	int m  = a;
	while( m != 0)
	{
		m = a%b;
		a = b;
		b = m; 
	}
	printf("%d",a);

	return 0;
}
在 C 语言中,求最大公约数(GCD,Greatest Common Divisor)的常见的四种方法(附带源代码) 在 C 语言中,求最大公约数(GCD,Greatest Common Divisor)的常见方法有三种:辗转相除法、更相减损法和辗转相减法。以下是这四种方法的简单实现:这些方法都可以求得两个整数的最大公约数。选择哪种方法取决于具体的情况和性能要求。通常情况下,辗转相除法是最常用的方法,因为它在性能上相对较好。 阅读详情

相关推荐

专升本C语言必刷编程题

专升本必刷的C语言编程题

weixin_48496901的博客 3724

C语言求最大公约数(四种)

九章算术—更相减损法判断a和b那个大,然后

PAQQ的博客 5万+

C语言常见四个问题:比较三个数的大小、输出数的倒置、输出最大公约数以及对数组排序。

C语言基础题

m0_75044646的博客 1125

C语言—求最大公约数(4种算法思路)

如果大数可以整除小数,那么最大公约数为小数。如果不能整除小数,那么这两个数就按大到小依次对比小数小的数求余,遇到都能够整除的,就是最大公约数。用a对b求余,若余数为0,则除数b为最大公约数。若余数不为0,将此余数r作为新的除数,b作为新的被除数,重新求余,直到余数为0为止。此时的最大公约数为余数。

2301_80163571的博客 2万+

C语言质数算法和最大公约数算法

C语言--质数算法和最大公约数算法

weixin_51604843的博客 1411

C语言详解系列——goto语句的讲解和循环语句的简单练习题

goto语句的介绍和一些简单的练习

weixin_64182409的博客 2191

(C语言)求最大公约数的四个方法

一、穷举法 二、辗转相除法 三、更相减损术 四、Stein算法(结合辗转相除法和更相减损法的优势以及移位运算)

weixin_63246064的博客 5万+

C语言实验——最小公倍数和最大公约数

题目描述 从键盘输入两个正整数,求这两个正整数的最小公倍数和最大公约数,并输出。 输入 输入包括一行。  两个以空格分开的正整数。 输出 两个整数的最小公倍数和最大公约数。 示例输入 6 8 示例输出 24 2 #include void main() { int a,b,n,m,r; scanf("%d %d",&m,&n); a=m*n;

u013087645的专栏 2751

c语言简单入门小问题

具体来说,假设长度为n的数组arr,要按照从小到大排序,那么先从n个数字中找到最小值min1,如果最小值min1的位置不在数组的最左端(也就是min1不等于arr[0]),则将最小值min1和arr[0]交换,接着在剩下的n-1个数字中找到最小值min2,如果最小值min2不等于arr[1],则交换这两个数字,依次类推,直到数组arr有序排列。首先从数组的第一个元素开始到数组最后一个元素为止,对数组中相邻的两个元素进行比较,如果位于数组左端的元素大于数组右端的元素,则交换这两个元素在数组中的位置。

weixin_73240443的博客 1032

Apollo&Carla联合仿真基本操作

基于UE4开发的开源无人驾驶仿真器PythonAPI自动驾驶传感器(还有理想化的collision detection传感器)用于规划和控制的快速仿真地图生成交通场景(open scenario)仿真ROS集成自动驾驶baseline0.9.15新特性新的车型以及地图基于Omniverse的素材导入基于OSM的三维场景生成。

SLAM小土堆 3799

基于Zemax的干涉仪仿真——Fizeau球面干涉仪

最近在用Zemax仿真干涉仪,在这之前查资料都是关于一些平面干涉仪的仿真,很少有关于Fizeau型的,尤其是球面干涉仪的仿真,看到很多关于这方面的问题回复都说利用多重结构仿照Zemax马赫-泽德干涉仪去做,但是也没有具体的过程,因此在这里分享一下我仿真的干涉仪步骤方法,具体是利用多重结构完成的仿真。

weixin_46657737的博客 6407

7个大一C语言必学的程序 / C语言经典代码大全

嗨~大家好,这里是可莉! 今天给大家带来的是7个C语言的经典基础代码~ 那一起往下看下去把 【程序一】打印100到200之间的素数 #include<stdio.h> int main() { int i; for (i = 100; i <= 200; i++) { int j; for (j = 2; j < i; j++) { if (i % j == 0) break; } if (i == j) printf("%d ",

qq_45069481的博客 2万+

Matlab生成dsp程序——环境搭建(c2000系列[F28335、F2837x]都适用)

一、环境配置 (28377D的操作是一模一样就是硬件设置的时候需要选择28377d进行相应的设置) 1)matlab与ccs联合编译需要安装对应的matlab版本和ccs版本,且只有2016a以上的matlab支持c2000系列。具体对应关系参照: http://software-dl.ti.com/ccs/esd/documents/ccs_matlab.html 2)matlab版本确定之后,还需要安装有关于ccs的相关软件: I、TI Code Composer Studio xxxx(对应

qq_42151264的博客 2万+

C语言冒泡排序和其他板子

C语言实用类板子 各位刚刚开始学习C语言的小伙伴是不是有的时候很郁闷,老是记不住一些常用的套路,在这里我总结了一些常用的C语言套路,方便使用。 一、 冒泡排序 核心内容 //n是数组里面的个数 for(i=0; i<n-1; i++) { for(j=0; j<n-i-1; j++) { if(a[j]>...

安丹易的博客 683

无线网卡选购指南:哪些型号支持Kali Linux的监听模式?附免驱动网卡推荐

本文详细解析了如何在Kali Linux下选购支持监听模式的无线网卡。核心在于选择兼容的芯片组,如Atheros AR9271和Ralink RT3070等经典型号,并提供了免驱动网卡推荐与实战配置指南,帮助安全研究人员和爱好者快速搭建无线测试环境。

wind6的博客 1553

从内参矩阵到归一化平面:揭秘相机成像的标准化核心

本文深入解析了相机成像中的核心概念——归一化平面。通过拆解内参矩阵(包含焦距、主点等参数)的作用,详细阐述了如何将像素坐标转换为与具体相机硬件无关的归一化坐标。这一标准化过程是计算机视觉算法(如多相机系统对齐、视觉SLAM)实现跨设备通用性的关键,能有效提升算法的鲁棒性和泛化能力。

opencv7vision的博客 449

算法入门:一些c语言实例的分享

一些基础算法实例的分享

2401_88748344的博客 1610

抖音a_bogus参数逆向避坑指南:从环境检测到XHR请求的全流程解析

本文详细解析了抖音a_bogus参数在v1.0.1.19版本下的逆向工程全流程,重点介绍了如何通过PyV8Env框架进行有效的补环境操作,以绕过严格的环境检测。内容涵盖从环境初始化、关键事件触发到模拟XHR请求获取签名的完整步骤,并提供了可运行的Python代码示例和常见检测点的避坑指南,帮助开发者稳定生成有效的a_bogus参数。

tech5的博客 600

【C语言习题演练】分支与循环——最大公约数问题

今天通过介绍习题——三个数按从大到小排序、打印1~100之间3的倍数以及两个数的最大公约数来进一步理解巩固分支与循环的相关知识点

蒙奇D索大的博客 406

Grafana图像渲染插件安装全攻略:解决依赖缺失问题(附完整命令清单)

本文详细介绍了在CentOS/RHEL环境下安装Grafana图像渲染插件`grafana-image-renderer`的全过程,包括解决常见的依赖缺失问题。通过提供完整的命令清单和疑难问题排查指南,帮助用户高效部署和优化插件性能,确保图像渲染功能稳定运行。

weixin_30399821的博客 85

基于STM32F103的智能门禁门锁门卫系统设计

本文设计了一种基于STM32F103单片机的智能门禁系统,集成了密码、射频IC卡和指纹识别三种验证方式。系统采用模块化设计,包含MFRC522射频模块、AS608指纹模块、矩阵键盘、OLED显示和舵机控制等硬件,实现了身份验证、密码修改、IC卡/指纹管理以及安全防护功能。测试结果表明系统响应迅速(密码验证250ms、指纹验证600ms)、功耗低(待机50mA),且具备掉电密码保存功能。该系统操作简便、功能完善,适用于家庭和办公场所,具有较高实用价值。未来可扩展远程控制、人脸识别等功能以进一步提升智能化水平。

3254968421的博客 317

c语言四种常见题型:比较大小,数的倒置,求最大公约数,顺序输出

1.基本框架int main()2.基本数据类型。

m0_75173074的博客 3034

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

河北专升本(C语言编程题)

原理:从左到右,相邻元素进行比较。每次比较一轮,就会找到序列中最大的一个或最小的一个。这个数就会从序列的最右边冒出来。

qq_56088882的博客 3337

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

自学 C语言第九天

预处理命令,部分练习

An_Xinran的博客 2217

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

交换数值、冒泡排序、最大公约数与素数

交换两个值(不引入第三个变量) 现有两个值,要求不引入第三个变量的方法来交换两个数 思路:两个数相加之后再去减掉另一个值 实现方法: #include<stdio.h> //交换两个变量的值(不引入第三个变量) int main() { int x = 10, y = 20; printf("x=%d,y=%d\n", x, y);//交换之前的值 x = x + y; ...

Bityang_01的博客 297

C语言随记——八道C语言简单算法题

在计算机编程领域,算法是程序设计的灵魂,而C语言作为一种被广泛应用的编程语言,对于算法的理解和实现至关重要。本篇博客将带你深入探讨八道C语言简单算法题,涵盖了逻辑运算、循环结构、数组操作等多个方面的算法挑战。通过挑战这些问题,不仅可以加深对C语言的理解,还能锻炼解决问题的能力和编程思维。每道题目都将提供详细的问题描述和相应的C语言代码解,帮助你更好地理解和掌握算法的实际应用。

2301_78660211的博客 1047
下一篇: JS之内置对象
Young-_-D
博客等级 码龄8年 62粉丝 106原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值