当前位置: 首页 > news >正文

C语言练习(23)

求两个整数的最大公约数和最小公倍数,用一个函数求最大公约数,用另一函数根据求出的最大公约数求最小公倍数。

①不用全局变量,分别用两个函数求最大公约数和最小公倍数。两个整数在主函数中输入,并传送给函数f1,求出的最大公约数返回主函数,然后再与两个整数一起作为实参传递给函数f2,以求出最小公倍数,返回到主函数输出最大公约数和最小公倍数。

②用全局变量的方法,分别用两个函数求s最大公约数和最小公倍数,但其值不由函数带回。将最大公约数和最小公倍数都设为全局变量,在主函数中输出它们的值。

分别用以上两种方法编程并运行,分析对比。

不使用全局变量的方法:

int gcd(int a, int b) {while (b != 0) {int temp = b;b = a % b;a = temp;}return a;
}
int lcm(int a, int b) {return a * b / gcd(a, b);
}
#include <stdio.h>int main() {int num1, num2;printf("请输入两个整数:");scanf_s("%d %d", &num1, &num2);int gcd_result = gcd(num1, num2);int lcm_result = lcm(num1, num2);printf("最大公约数是:%d\n", gcd_result);printf("最小公倍数是:%d\n", lcm_result);return 0;
}

使用全局变量的方法:

int gcd_result;
int lcm_result;
void find_gcd(int a, int b) {while (b != 0) {int temp = b;b = a % b;a = temp;}gcd_result = a;
}
void find_lcm(int a, int b) {lcm_result = a * b / gcd_result;
}
#include <stdio.h>int gcd_result;
int lcm_result;int main() {int num1, num2;printf("请输入两个整数:");scanf_s("%d %d", &num1, &num2);find_gcd(num1, num2);find_lcm(num1, num2);printf("最大公约数是:%d\n", gcd_result);printf("最小公倍数是:%d\n", lcm_result);return 0;
}

http://www.lryc.cn/news/526094.html

相关文章:

  • LabVIEW 太阳能光伏发电系统智能监控
  • 大唐杯赛道一国一备赛思路
  • 用户中心项目教程(五)---MyBatis-Plus完成后端初始化+测试方法
  • 深圳市云盟智慧科技有限公司智慧停车管理系统 SQL注入漏洞复现(附脚本)
  • PySide(PyQT)进行SQLite数据库编辑和前端展示的基本操作
  • 利用 SAM2 模型探测卫星图像中的农田边界
  • 前端路由的hash模式和history模式
  • 日志收集Day005
  • 代码随想录 二叉树 test 2
  • 浏览器默认语言与页面访问统计问题二三则
  • 用Python绘制一只懒羊羊
  • 虹科分享 | 汽车NVH小课堂之听音辨故障
  • 论文速读|SigLIP:Sigmoid Loss for Language Image Pre-Training.ICCV23
  • 深度学习笔记——循环神经网络之LSTM
  • 算法整理:2-opt求解旅行商(Python代码)
  • 状态模式
  • RoHS 简介
  • 【Vim Masterclass 笔记26】S11L46:Vim 插件的安装、使用与日常管理
  • 深度学习原理与Pytorch实战
  • ELK环境搭建
  • 基于Springboot + vue实现的民俗网
  • 第24篇 基于ARM A9处理器用汇编语言实现中断<六>
  • 【数据结构】_不带头非循环单向链表
  • golang 使用双向链表作为container/heap的载体
  • C#集合操作优化:高效实现批量添加与删除
  • 142.WEB渗透测试-信息收集-小程序、app(13)
  • 24.日常算法
  • 分布式理解
  • wordpress调用指定ID页面的链接
  • 单值二叉树(C语言详解版)