c刷题(一)

目录

1.输出100以内3的倍数

2.将3个数从大到小输出

3.打印100~200素数

方法一

方法二

4.显示printf的返回值

最大公约数

试除法

辗转相除法

九九乘法表

 求十个数的最大值


1.输出100以内3的倍数

 法一:

int n = 0;
while (n*3 < 100){printf("%d ", n*3);n++;}

法二:

	int i = 0;for (i = 1; i <= 100; i++) {if (i % 3 == 0){printf("%d ", i);}}

2.将3个数从大到小输出

由于只有3个数,我们可以采用中间变量换值的方法,相比于依次判断就显得很简单了。

	int a = 0;int b = 0;int c = 0;int tmp = 0;scanf("%d %d %d", &a, &b, &c);if (a < c){tmp = c;c = a;a = tmp;}if (a < b){tmp = b;b = a;a = tmp;}if (b < c){tmp = b;b = c;c = tmp;}printf("%d %d %d\n", a, b, c);return 0; 
}

需要注意的是,这种办法改变了原变量的值。

3.打印100~200素数

方法一

素数,也称质数,特点是只能被1和自身整除,那我们是不是可以用2~n-1之间的数依次来取模进行判断呢?如果有一个数能被整除,那它就不是质数,反之是质数。

	int i = 101;int n;for (i = 101; i < 200; i++){int flag = 0;//开关for (n = 2; n < i; n++){if (i % n == 0){flag = 0;break;}else flag = 1;}if(flag == 1)printf("%d ", i);	}

 因为其中一个数不能整除并不代表它不是素数,所以我们设置一个开关,依次在真和假中切换,能整除为假,不能整除为真,遍历一遍后根据flag的值判断它是否为素数。

方法二

任意不是素数的数都可以分为 m*n的形式。

16 = 4*4 

16 = 2*8

如果将这个数开平方,如果它不是素数,则在2~√n之间必定有个数使它的因子。

(例:√18 = 3(整形省略分数)

             18 = 2*9 18 = 3*6    

大家想想是不是这样的道理,这样做可以减少遍历的次数。

#include <stdio.h>
#include<math.h>
int main(){int i = 101;int n;for (i = 101; i < 200; i+2){int flag = 0;for (n = 2; n <= sqrt(i); n++){if (i % n == 0){flag = 0;break;}else flag = 1;}if(flag == 1)printf("%d ", i);	}
return 0;
}

注意因子可以等于√n,sqrt是用来求根号的函数,需要包含头文件math.h

因为偶数不可能是素数,我们可以跳过偶数部分只进行奇数的循环。

4.显示printf的返回值

要求:第一行输入printf的输出值,第二行输出printf的返回值。

	int ret = printf("hello world!");printf("\n%d", ret);
//等价于int ret = printf("\n%d", printf("hello world!"));

 

由此我们可以得出结论:printf返回值是字符的个数 

最大公约数

试除法

我们找到两个数中较小的那个,用它依次递减,如果能被这两个数整除,那它就是最大公约数。

    int a = 0, b = 0;scanf("%d %d", &a, &b);int ret = a > b ? b : a;while (a % ret || b % ret){ret--;}printf("%d\n", ret);

辗转相除法

具体来说就是两个数先求模,如果不等于0,被除数作为下一个除数,它们的模为新的被除数继续直到没有余数为止

例如:24%12 = 0,则12就是最大公约数。25%12 = 1,12%1 = 0,1就是最大公约数。

反过来12%24 = 12,24%12 = 0,方法仍成立。

	int a = 0, b = 0;int r = 0;scanf("%d %d", &a, &b);while (r = a % b){a = b;b = r;}printf("%d\n", b); 

 附加题:如果要求最小公倍数该怎么做呢?

这里有个公式:最小公倍数 = 两数之积除以最大公约数(a*b/r)

九九乘法表

    int i = 0;for (i = 1; i <= 9; i++){//打印一行int j = 0;for (j=1; j<=i; j++)//列数不超过行数{printf("%d*%d=%-2d ", i, j, i * j);}printf("\n");}

不多赘述,注意我们这里采用左对齐%-2d的方式使得代码整齐,希望大家写代码的时候也能用到这样的技巧。

 求十个数的最大值

这个没什么好说的,假定一个变量max遍历数组,选出最大值即可。需要注意的是,max只能是数组内的一个值,如果给它初始值为0,遇到负数可能会出现错误。

int arr[] = { -1,-2,-3,-4,-5,-6,-7,-8,-9,-10 };int max = arr[0];int i = 0;for (i = 1; i < 10; i++)//从第二个数开始{if (arr[i] > max)max = arr[i];}printf("%d\n", max);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/15249.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于物联网、视频监控与AI视觉技术的智慧电厂项目智能化改造方案

一、项目背景 现阶段&#xff0c;电力行业很多企业都在部署摄像头对电力巡检现场状况进行远程监控&#xff0c;但是存在人工查看费时、疲劳、出现问题无法第一时间发现等管理弊端&#xff0c;而且安全事件主要依靠人工经验判断分析、管控&#xff0c;效率十分低下。 为解决上述…

基于双 STM32+FPGA 的桌面数控车床控制系统设计

桌 面数控 设 备 对 小 尺寸零件加工在成 本 、 功 耗 和 占 地 面 积等方 面有 着 巨 大 优 势 。 桌 面数控 设 备 大致 有 3 种 实 现 方 案 : 第 一种 为 微 型 机 床搭 配 传统 数控系 统 &#xff0c; 但 是 桌 面数控 设 备 对 成 本 敏感 ; 第二 种 为 基 于 PC…

AngularJS学习(一)

目录 1. 引入 AngularJS2. 创建一个 AngularJS 应用3. 控制器&#xff08;Controller&#xff09;4. 模型&#xff08;Model&#xff09;5. 视图&#xff08;View&#xff09;6. 指令&#xff08;Directive&#xff09;7. 过滤器&#xff08;Filter&#xff09;8. 服务&#xf…

数据库范式

数据库范式是一种设计数据库的规范化方法&#xff0c;用于减少数据冗余、提高数据一致性和维护性。常见的数据库范式有以下几种&#xff1a; 第一范式&#xff08;1NF&#xff09;&#xff1a;确保表中的每个字段都是原子的&#xff0c;即不可再分。每个字段只包含一个值&#…

使用Flutter的image_picker插件实现设备的相册的访问和拍照

文章目录 需求描述Flutter插件image_picker的介绍使用步骤1、添加依赖2、导入 例子完整的代码效果 总结 需求描述 在应用开发时&#xff0c;我们有很多场景要使用到更换图片的功能&#xff0c;即将原本的图像替换设置成其他的图像&#xff0c;从设备的相册或相机中选择图片或拍…

在langchain中使用带简短知识内容的prompt template

简介 langchain中有个比较有意思的prompt template叫做FewShotPromptTemplate。 他是这句话的简写&#xff1a;“Prompt template that contains few shot examples.” 什么意思呢&#xff1f;就是说在Prompt template带了几个比较简单的例子。然后把这些例子发送给LLM&…

使用serverless实现从oss下载文件并压缩

公司之前开发一个网盘系统, 可以上传文件, 打包压缩下载文件, 但是在处理大文件的时候, 服务器遇到了性能问题, 主要是这个项目是单机部署.......(离谱), 然后带宽只有100M, 现在用户比之前多很多, 然后所有人的压缩下载请求都给到这一台服务器了, 比如多个人下载的时候带宽问…

在CSDN学Golang云原生(Kubernetes Pod调度)

一&#xff0c;NodeSelector定向调度 在 Kubernetes 中&#xff0c;可以使用 NodeSelector 字段来指定 Pod 调度到哪些节点上运行。NodeSelector 是一个键值对的 map&#xff0c;其中键是节点的标签名&#xff0c;值是标签值。具体步骤如下&#xff1a; 在节点上添加标签 首…

tensorRT多batch动态推理

tensorRT的多batch推理&#xff0c;导出的onnx模型必须是动态batch&#xff0c;只需在导出的时候&#xff0c;设置一个dynamic_axis参数即可。 torch.onnx.export(hybrik_model, dummy_input, "./best_model.onnx", verboseTrue, input_namesinput_names, \output_…

计算机基本硬件的内部结构

1.早期冯诺依曼机结构 世界上第一台计算机ENIAC是使用手动接线来控制计算&#xff0c;十分麻烦。 冯诺依曼提出“存储程序”的概念&#xff0c;是指将指令以二进制代码的形式事先输入计算机的主存储器&#xff08;内存&#xff09;&#xff0c;然后按照其在存储器中的首地址执…

c++ ,vs2019, cpp20规范之 forward_list 源码分析

通过阅读源码可知&#xff0c;该单向链表不像list双向链表那样有专门的前导节点。即list._Mypair._Myval2._head._next才指向第一个有效数据节点。而 forward_list ._Mypair._Myval2._head 已经指向了有效数据节点。原因就在于复杂巧妙的类型转换。如下图的构造函数里&#xff…

X86、X64和ARM

一、X86、X64架构 X86架构和X64架构&#xff08;也称为x86-64、AMD64或Intel 64&#xff09;都是计算机处理器架构的名称&#xff0c;它们都属于x86家族的一部分。这些架构主要用于描述计算机中处理器的指令集和寻址能力。 X86架构 X86指的是支持32位的指令集架构处理器&…

【Matlab】基于长短期记忆网络的时间序列预测(Excel可直接替换数据)

【Matlab】基于长短期记忆网络的时间序列预测(Excel可直接替换数据) 1.模型原理2.数学公式3.文件结构4.Excel数据5.分块代码6.完整代码7.运行结果1.模型原理 "基于长短期记忆网络(Long Short-Term Memory, LSTM)的时间序列预测"是一种使用LSTM神经网络来预测时间…

Spring-ApplictionContext

Spring Spring是整个Java体系最核心的框架&#xff0c;没有之一。 核心类图结构 ApplicationContext ApplicationEventPublisher&#xff1a;提供了一种机制&#xff0c;用于通知应用程序中感兴趣的部分有关其执行过程中发生的特定事件。ListableBeanFactory&#xff1a;是S…

python结合tesseract-ocr识别汉字的训练库过程

一、安装python 例如&#xff0c;安装路径为&#xff1a;C:\rtkapp\python-3.8.0 二、安装opencv 三、安装tesseract-ocr 安装完成后&#xff0c;在系统环境变量path中&#xff0c;添加安装路径C:\rtkapp\Tesseract-OCR 四、打开python安装pytesseract 五、安装java运行环境…

测试开源C#人脸识别模块ViewFaceCore(5:质量检测和眼睛状态检测)

ViewFaceCore模块中的FaceQuality支持预测人脸质量&#xff0c;最初以为是预测人体体重&#xff0c;实际测试过程中才发现是评估人脸图片质量&#xff0c;主要调用Detect函数执行图片质量检测操作&#xff0c;其函数原型如下所示&#xff1a; //// 摘要:// 人脸质量评估///…

Qt+OpenCV+VTK在VS2017中配置路径

QtOpenCVVTK在VS2017中配置路径 《Qt环境配置》《OpenCV环境配置》《VTK环境配置》 《Qt环境配置》 包含目录&#xff1a; D:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include D:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include\QtWidgets D:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include…

[containerd] 初始化流程概览

1. 环境 containerd版本&#xff1a;v1.7.2&#xff0c;containerd debug搭建教程链接操作系统&#xff1a;Ubuntu22.04 2. 初始化流程 containerd的入口为&#xff1a;cmd/containerd/main.go&#xff0c;如下&#xff1a; func main() {// TODO 实例化containerdapp : com…

webstorm配置less转译

Program中路径如果识别不到 项目文件\node_modules.bin\lessc

springCloud Eureka注册中心配置详解

1、创建一个springBoot项目 2、在springBoot项目中添加SpringCloud依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>2021.0.3</version><type>…