冒泡排序;100~200的素数打印;辗转相除(学习笔记)

简介: 冒泡排序;100~200的素数打印;辗转相除(学习笔记)

1 冒泡排序

冒泡排序是以数组为基础的用数组下表对数字进行比大小而后进行大小的排列。

先上代码

int main(void)
{
  int tmp = 0;
  int arr [40] = { 0 };
  int i = 0;
  for (i = 0; i < 3; i++)
  {
    scanf("%d", &arr[i]);
  }
  int j = 0;
  for (i = 0; i < 3; i++)
  {
    for (j = 0; j < 2 - i; j++)
    {
      if (arr[j] < arr[j + 1])
      {
        tmp = arr[j];
        arr[j] = arr[j + 1];
        arr[j + 1] = tmp;
      }
    }
  }
  for (i = 0; i < 3; i++)
  {
    printf("%d ", arr[i]);
  }
  return 0;
}

(这是只对3个数字的冒泡排序部分,可用scanf和n对其进行升级但是作者就偷懒了)

下面我对其进行小讲解

讲解

int j = 0;
  for (i = 0; i < 3; i++)
  {
    for (j = 0; j < 2 - i; j++)
    {
      if (arr[j] < arr[j + 1])
      {
        tmp = arr[j];
        arr[j] = arr[j + 1];
        arr[j + 1] = tmp;
      }
    }

这是冒泡的主体for循环是为了控制排序次数,内部是对arr数组内的数字的排序。

100~200的素数打印

int main(void)
{
  int n = 0;
  int i = 0;
  for (n = 100; n <= 200; n++)
  {
    for (i = 2; i < n-1; i++)
    {
      if (n % i == 0)
      {
        break;
      }
    }//第二个for循环结束
    if (n % i != 0)
    {
      printf("%d ", n);
    }
  }
}

简单粗暴直接用数字本身去÷(除一)以外的所有比它小的数简单粗暴但效率较低

我依旧对其简单分析

我们通过第一个for循环将100~200的数字输入其中再通过第二个for循环对其进行比它小的除法运算一旦有数字与他相除余数为零就跳出第二个for循环而后再由if判断是中途跳出还是进行完成for循环跳出如是第二种就打印。


辗转相除


通过辗转相除可以较快速的输出两个数的公约数

使用方法

通过数字来讲解

先用 48/36 = 1…12;

然后用36/12 = 3…0;

那么12就是48与36的最大公约数

其实就是用一个较大的数去÷哪个较小的数如果余数为0则较小的数----也就是除数为最大公约数如果不为零则要用较小的除数去除余数通过反复的计算直到余数为零

int main()
{
  int a = 0;
  int b = 0;
  scanf("%d %d", &a, &b);
  int z = a%b;
  while (z)
  {
    a = b;
    b = z;
    z = a % b;
  }
  printf("%d", b);
}
相关文章
|
6天前
|
云安全 人工智能 安全
AI被攻击怎么办?
阿里云提供 AI 全栈安全能力,其中对网络攻击的主动识别、智能阻断与快速响应构成其核心防线,依托原生安全防护为客户筑牢免疫屏障。
|
15天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
10天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
618 217
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
859 61
|
8天前
|
人工智能 移动开发 自然语言处理
2025最新HTML静态网页制作工具推荐:10款免费在线生成器小白也能5分钟上手
晓猛团队精选2025年10款真正免费、无需编程的在线HTML建站工具,涵盖AI生成、拖拽编辑、设计稿转代码等多种类型,均支持浏览器直接使用、快速出图与文件导出,特别适合零基础用户快速搭建个人网站、落地页或企业官网。
1310 157
|
5天前
|
编解码 Linux 数据安全/隐私保护
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
246 138
|
7天前
|
存储 安全 固态存储
四款WIN PE工具,都可以实现U盘安装教程
Windows PE是基于NT内核的轻量系统,用于系统安装、分区管理及故障修复。本文推荐多款PE制作工具,支持U盘启动,兼容UEFI/Legacy模式,具备备份还原、驱动识别等功能,操作简便,适合新旧电脑维护使用。
542 109