C语言水平测试题 过关斩将(3)辗转相除法,前n项求和,整数的正序分解,求最大公约数

我的个人主页☆光之梦☆的博客_CSDN博客-C语言基础语法(超详细)领域博主

欢迎各位 👍点赞 ⭐收藏 📝评论

我的专栏C语言基础语法(超详细)_☆光之梦☆的博客-CSDN博客(这个专栏里的平均文章质量分是95噢,基本全都是高质量文章,本博主将会长期更新c语言的语法知识,初学c语言的朋友们,可以收藏订阅一下,收藏绝对不亏噢)

目录

一、前n项求和

【题型1】 

【题型2】 

二、求最大公约数

方案1——枚举

方案2——辗转相除法

三、正序分解整数


下列是:C语言水平测试题(3)

大家冲鸭!

一、✨前n项求和✨

 输入一个数,求这个数的前n项和

 

🎇【题型1】 🎇

用户输入一个整数n,请求出这个数从1到n的倒数之和的值,并打印输出

具体要求如下图: 

 代码实现示例:

#include <stdio.h>int main()
{int n; // n用于存储用户输入的值int i; // i用于循环计数double sum = 0.0; // sum用于存储计算的和的结果// 用户输入printf("请输入您要计算的前n项和的n:");scanf("%d",&n);// 求前n项和// 从1循环递增到n。在每次循环中,1.0/i的值被加到sum中for (i = 1; i <= n; i++){sum += 1.0/i;}// 输出结果printf("f(%d)=%f\n",n,sum);return 0;
}

 核心代码块:

🎇【题型2】 🎇

用户输入一个整数n,请计算出从1到n的交替和,并将结果输出

注:其中每一项的正负号会交替改变

 代码实现示例:

#include <stdio.h>int main()
{int n; // n用于存储用户输入的值int i; // i用于循环计数double sum = 0.0; // sum用于存储计算的和的结果int sign = 1; // sign用于标记每一项的正负号,初始值为1 正// 用户输入printf("请输入您要计算的前n项和的n:");scanf("%d",&n);// 循环计算从1到n的交替和for (i = 1; i <= n; i++){// sign用于标记正负号,通过乘以sign实现每一项正负号的交替sum += sign*1.0/i;// 在每次循环结束时,sign会取反,使下一次循环的正负号相反sign = -sign;}// 输出printf("f(%d)=%f\n",n,sum);return 0;
}

核心代码块:

double sum = 0.0;
int sign = 1;for (i = 1; i <= n; i++){sum += sign*1.0/i;sign = -sign;}

二、✨求最大公约数✨

需求:

输入两个数 a 和 b,输出它们的最大公约数

输入:1218

输出:6

 

🎇方案1——枚举🎇        

坏处:效率不高

图例:

🎇方案2——辗转相除法🎇

辗转相除法

  1. 如果 b 等于 0,计算结束,a 就是最大公约数;

  2. 否则,计算 a 除以 b 的余数(a % b),让 a 等于 b,而 b 等于那个余数;

  3. 回到第一步

ab余数
121812
18126
1260
60

代码实现示例:

#include <stdio.h>
//辗转相除法 
int main()
{ //计算a与b的最大公约数 // 定义两个变量a和b,用来存储输入的两个整数int a,b;// 定义一个变量t,用来存储余数int t;//scanf("%d %d",&a,&b);a = 12;b=18;// 当b不等于0时,将两个数的差值更新为较小的数与余数的差值// 直到余数为0,此时较小的数即为最大公约数while (b != 0) {t = a % b;a = b;b = t;}printf("最大公约数(gcd)=%d\n",a);// 6return 0;
}

三、✨正序分解整数✨

正序分解整数

输入一个非负整数,正序输出它的每一位数字输入:13425 输出:1 3 4 2 5

代码实现示例:

#include <stdio.h>int main()
{int x;//scanf("%d",&x);x = 13425;int mask = 1;int t = x;while (t > 9) {t /= 10;mask *= 10;}printf("x=%d,mask=%d\n",x,mask);do{int d = x / mask;printf("%d",d);if(mask > 9){printf(" ");}x %= mask;mask /= 10;}while (mask > 0);printf("\n");return 0;
}

各位学习C语言的初学者,如果有问题随时都可以来问我,我会随时为您解答!欢迎大家与我一起学习,互相进步。

我的C语言专栏:C语言基础语法(超详细)_☆光之梦☆的博客-CSDN博客

创作不易,👍 +⭐ +📝(一键三连) 是对博主最大的鼓励与支持哦。

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

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

相关文章

前后端开发环境下载,java web前后端分离项目所有环境下载

前言介绍 配置环境过程枯燥 又麻烦&#xff0c;同时经常设计版本依赖对应关系&#xff0c;所以这里将所有工具集合发出来供大家一次性下载。工具包含如下&#xff1a; 工具介绍&#xff1a; 下面为安装包名&#xff1a; linux环境&#xff1a; jdk-8u45-linux-x64.rpm (jav…

Linux 编写一个 简单进度条

进度条 回车换行理解&#xff1a; 我们要理解&#xff0c;回车换行是两个概念&#xff1a; 换行是把光标移到下一行&#xff0c;是竖直的往下平移&#xff1b;" \n "回车是把光标移到当前行的最开始&#xff1b; " \r " 就和一起打字…

【计网】傻瓜式安装cpolar内网穿透

目录 一、注册账户 二、下载安装包 三、安装 四、查看AuthToken 五、简单使用 如果在本机部署项目外网是访问不到的&#xff0c;通过内网穿透就可以使本机部署的项目可被外网访问 一、注册账户 cpolar - secure introspectable tunnels to localhostcpolar secure intro…

数字技术助力智慧公厕,让公厕变身为全新创新应用

在如今数字化的时代&#xff0c;数字技术的集成应用已经渗透到了生活的方方面面。其中一个令人瞩目的领域就是智慧公厕。以前只是简单的厕所&#xff0c;如今借助数字技术的力量&#xff0c;智慧公厕变得功能强大、智能高效。接下来&#xff0c;我们将以智慧公厕源头领航厂家广…

【Docker】Docker-compose及Consul多容器编排工具

使用一个Dockerfile模版文件可以定义一个单独的应用容器&#xff0c;当需要定义多个容器时就需要编排 docker swarm&#xff08;管理跨节点&#xff09; 编排工具——docker compose Dockerfile可以让用户管理一个单独的应用容器&#xff1b;而Compose则允许用户在一个模板&…

数据治理是一个怎样的体系化的过程?_光点科技

数据治理是一个复杂而系统化的过程&#xff0c;旨在确保企业能够有效地管理、维护和利用其日益增长的数据资产。这一过程涉及多个层面和步骤&#xff0c;需要有明确的框架和战略规划。 数据治理的体系化始于明确定义的目标和愿景。企业需要明确意识到数据对于业务成功的重要性&…

微信小程序开发--入门

目录 前言 一.准备阶段 1.申请账号 2.安装开发工具 二.开发第一个小程序 1.创建项目 2.基础操作及语法 2.1目录结构 2.2 常见语法及文件类型 ​编辑 3.案例演示开发 1.新建页面 2.新建标题 3.后端传值 前言 简介&#xff1a; 微信小程序&#xff08;WeChat …

蓝桥杯(七段码,C++)

思路&#xff1a; 1、把灯管的连接转为图结构&#xff0c;相邻的灯管即认为有边。 2、用深度搜索&#xff0c;去计算有多少种不同字符。 3、因为有每种字符都会重复算两遍&#xff0c;最后的结果需要数以2。 #include <iostream> using namespace std;int graph[7][7…

腾讯云国际站-阿里云OSS如何迁移到腾讯云COS?腾讯云cos迁移教程

下面小编将介绍当源对象存储部署在阿里云国际版OSS 时&#xff0c;如何配置全托管迁移任务和半托管迁移任务&#xff0c;实现顺利迁移数据至腾讯云国际版COS。 准备工作 阿里云对象存储 OSS 创建 RAM 子账号并授予相关权限&#xff1a; 登录 RAM 控制台。选择人员管理 > …

ubuntu 系统升级问题

起源&#xff1a;执行apt update和apt upgrade过后&#xff0c;其中的一个没有选择N&#xff0c;系统自动升级了&#xff0c;导致很多地方都不能使用 报错信息如下 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 正在计算更…

发货100虚拟商品自动发货系统存在SQL注入

漏洞描述 该系统存在SQL注入漏洞&#xff0c;可获取敏感信息及账号密码。 漏洞复现 构造SQL注入延时payload&#xff1a; M_id11%20AND%20(SELECT%208965%20FROM%20(SELECT(SLEEP(5)))sdhh)&typeproduct漏洞证明&#xff1a; 文笔生疏&#xff0c;措辞浅薄&#xff0c;…

​调用Lua脚本tostring(xxx)报attempt to call a nil value (global ‘tostring‘

在c程序里调用Lua脚本, 脚本中用到了转字符串 tostring(xxx) str "test" function output(a,b,c)d "a:"..tostring(a).."b:"..tostring(b).."c"..tostring(c)return d end 实际运行会报错&#xff1a; attempt to call a nil v…

ElasticSearch-Head 数据浏览406问题解决

解决方法&#xff1a; 1、打开Docker DeskTop的Containers&#xff0c;找到es-head容器 2、选择Exec Tab选项 3、编辑vendor.js文件 vim _site/vendor.js 4、显示行号 :set nu 5、修改配置 # 修改文件第6886、7574行 将"application/x-www-from-urlencodes"修改…

centos6/7 SOCKS5 堆溢出漏洞修复(RPM方式)curl 8.4 CVE-2023-38545 CVE-2023-38546

引用 https://darkdark.top/update-curl.html centos6 rpm 升级包下载&#xff1a;https://download.csdn.net/download/sinat_24092079/88425840 yum update libcurl-8.4.0-1.el6.1.x86_64.rpm curl-8.4.0-1.el6.1.x86_64.rpmcentos7 rpm 升级包下载&#xff1a;https://down…

Qt之模块介绍

Qt提供了很多功能模块&#xff0c;我们需要知道的是这些模块有些加入了标准库&#xff0c;有一些并没有加入到标准库。至于为什么没有加入到标准库通过chatgpt得到的答案如下&#xff1a; Qt 是一个强大的跨平台 C 框架&#xff0c;它包括了很多核心模块和功能&#xff0c;以支…

BuyVM 挂载存储块

发布于 2023-07-13 on https://chenhaotian.top/linux/buyvm-mount-block-storage/ BuyVM 挂载存储块 参考&#xff1a; https://zhujitips.com/2653https://www.pigji.com/898.html 1 控制台操作 存储块购买完毕后&#xff0c;进入后台管理界面&#xff0c;进入对应 VPS …

多测师肖sir_高级金牌讲师_python之模块008

python之模块 一、模块的介绍 &#xff08;1&#xff09;python模块&#xff0c;是一个python文件&#xff0c;以一个.py文件&#xff0c;包含了python对象定义和pyhton语句 &#xff08;2&#xff09;python对象定义和python语句 &#xff08;3&#xff09;模块让你能够有逻辑…

使用信号量解决并发问题

使用信号量解决并发问题 本文主要讨论的是java的信号量在并发过程中的应用。信号量Semaphore的具体实现如下&#xff1a; package java.util.concurrent; import java.util.Collection; import java.util.concurrent.locks.AbstractQueuedSynchronizer;public class Semaphore …

【Tomcat】Apache发布两个新版本Tomcat修复多个Bug

Apache 官网发布了两个最新的 Tomcat 版本包&#xff0c;分别是&#xff1a;8.5.94、9.0.81 这两个最新版本修复了多个漏洞&#xff0c;统计信息如下表所示。有关漏洞的详细信息&#xff0c;请查阅官方相关文档&#xff08;见&#xff1a;参考&#xff09;。 严重等级漏洞说明…

【java学习】数组中涉及的常见算法-含冒泡排序(11)

文章目录 1. 最大值、最小值、总和、平均数2. 数组的复制、反转3. 数组元素的排序3.1. 排序方式3.1.1. 冒泡排序 1. 最大值、最小值、总和、平均数 代码如下&#xff1a; public class Test1 {public static void main (String[] args) {int[] arr new int[] {4,2,7,1,3,5};/…