IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 【初学者入门C语言】之习题篇(一) -> 正文阅读

[C++知识库]【初学者入门C语言】之习题篇(一)

个人主页:天寒雨落的博客_CSDN博客-C,CSDN竞赛,python领域博主

💬 刷题网站:一款立志于C语言的题库网站蓝桥杯ACM训练系统 - C语言网 (dotcpp.com)?

?特别标注:该博主将长期更新c语言内容,初学c语言的友友们,订阅我的《初学者入门C语言》专栏,关注博主不迷路!

目录

一、最大公约数与最小公倍数

1.题目

2.思路

3.代码

4.运行结果

5.易错点

二、求三个数字的最大值

1.题目

2.思路

3.方法一

代码

运行结果

?4.方法二

三目运算符?:

代码

执行结果


一、最大公约数与最小公倍数

1.题目

输入两个正整数m和n,求其最大公约数和最小公倍数。

2.思路

用辗转相除法(额,这东西能理解就理解不能理解就背住吧)
求最大公约数:先比较两个数的大小,把最大的给m,小的给n,再用m除以n,如果余数y为0,则就是最大公约数,否则,将n赋给m,将余数y赋给n,为什么要这样赋呢?因为上面运算的时候可以明显的知道余数y是小于n的不然它怎么是余数呢,然后就接着用m除以n,直到余数y为0,否则就重复前面的运算。

求最小公倍数:就是n和m的乘积除以最大公约数,即(n*m)/最大公约数

3.代码

#include "stdio.h"

int main() {
	int m, n, y, t, p, q;
	scanf("%d%d", &m, &n);
	p = m;
	q = n;

	if (n > m) {
		t = m;
		m = n;
		n = t;
	}

	while (m % n) {
		y = m % n;
		m = n;
		n = y;
	}

	printf("最大公约数为:%d,最小公倍数为:%d", n, (p * q) / n);
	return 0;
}

4.运行结果

5.易错点

在我们判断n大于m,想交换m和n的值的时候,不能直接写成m=n,要写成t=m;m=n;n=t;在这里要引入一个中间变量t

那么大家想一下然后不引用中间变量,然后只用两个变量就实现交换呢?

可以这样:

m=m+n;//此时的m为m与n的和

n=m-n;//此时n为以前的m

m=m-n;//此时m为以前的n

总结一下也就是说:

已知int n,m;

{m=m+n;n=m-n;m=m-n}等效于{int t;t = m;m = n;n = t;}

看到这里真的是不得不感叹一句数学知识博大精深啊!

二、求三个数字的最大值

1.题目

输入x,y,z三个数,比较其大小

2.思路

方法一:两两比较,比较两回就出来了

方法二:用三目运算符

3.方法一

代码

#include "stdio.h"

int main() {
	int x, y, z, max;
	scanf("%d%d%d", &x, &y, &z);
	max = x;

	if (y > max) {
		max = y;
	}

	if (z > max) {
		max = z;
	}

	printf("%d", max);
	return 0;
}

运行结果

?4.方法二

三目运算符?:

需要先补充一下三目运算符?:

<表达式1> ?<表达式2> :<表达式3>,意思是满足表达式1就执行表达式2,否则执行表达式3.

使用格式:x>y?x:y,判断x大于y吗,如果大于则该表达式的值为x,否则为y

代码

#include"stdio.h"

int main()
{
	int x, y, z, max;
	
	scanf("%d%d%d", &x, &y, &z);
	
	max = (x>y?x:y)>z?(x>y?x:y):z;
	
	printf("%d", max);
	
	return 0;
}

执行结果

?max = (x>y?x:y)>z?(x>y?x:y):z;相当于max = x>y?? x:y; max = z>max ? z:max;

各位C语言的初学者有问题随时都可以问我,随时为您解惑!!!

👍+??+??是对博主最大的鼓励与支持!!!

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-09-25 23:05:06  更:2022-09-25 23:05:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 5:46:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码