基础练习题之函数
前言
这些题目来自与一些刷题网站,以及c primer plus,继续练习
第一题
给你一个数,让他进行巴啦啦能量,沙鲁沙鲁,小魔仙大变身,如果进行变身的数不满足条件的话,就继续让他变身。。。直到满足条件为止。
巴啦啦能量,沙鲁沙鲁,小魔仙大变身:对于一个数,把他所有位上的数字进行加和,得到新的数。
如果这个数字是个位数的话,那么他就满足条件。
给一个整数数字n(1<=n<=1e9) 输出由n经过操作满足条件的数
1分析
哎呀其实思路很简单, int 类型的大小大概可以到20亿左右
而这里的n的大小只有10亿 只需使用int类型的整型即可
那它要一个整数的各位之和,当然如果大家从来没有做过这类题目可能要斟酌一下
但是我们一眼就看出来了 使用while循环 判断条件即为该数
限制条件就是对他除10, 循环内部对它求模可以得到它的个位数大小
一次进行就可以得到它的各位之和,然而它还可以大于10之后加一个判断这个题目就出来了
2代码实现
#include <stdio.h>
int Ifbecome(int x)
{int flag=x;while(1){int a=0;while(flag){a+=flag%10;flag/=10;}if(a<10)return a;elseflag=a;}
}int main() {int a, b;while (scanf("%d", &a) != EOF) {
printf("%d",Ifbecome(a));}return 0;
}
第二题
请统计某个给定范围[L, R]的所有整数中,数字2出现的次数
比如给定范围[2, 22],数字2在数2中出现了1次,在数12中出现1次,在数20中出现1次,在数21中出现1次,在数22中出现2次,所以数字2在该范围内一共出现了6次
输入共1行,为两个正整数L和R,之间用一个空格隔开。
输出共1行,表示数字2出现的次数。
1分析
这些题目还是很好的,用来打基础真的挺好
很明显和上个题目是有相似之处的 我们只要分别对范围内的数比较他们的各个位 数的大小与
2相判断即可 其实会上个题目 这个题目也会做
2,代码实现
#include <stdio.h>
int Count(int x)
{int a=0;while(x){if(2==x%10)a++;x/=10;}return a;
}
int main() {int a, b;while (scanf("%d%d", &a,&b) != EOF) { int i;int j=0;for(i=a;i<=b;i++){j+=Count(i);}printf("%d",j);}return 0;
}
第三题
牛牛很喜欢发短信,他所用的通讯公司的收费方法如下:
1.每条短信收费0.1元
2.每条短息的字数不超过60字,如果超过60字,将按照0.2元的价格收费。
牛牛这个月发了 n 条短信,请问牛牛一共要缴多少短信费
第一行输入一个正整数 n ,表示发送短信的条数,
第二行输入 n 个正整数,表示牛牛发送的 n 条短信中每条短信的字数
输出牛牛这个月要缴的短信费
1分析
这个题目太简单了,简单的说一下
首先判断字数,一个if就行 然后注意得用浮点型来输出其他没什么
2代码实现
#include <stdio.h>
float Price(int x)
{if(x>60){return 0.2;}elsereturn 0.1;
}
int main() {int a, b;float c=0.0f;while (scanf("%d", &a) != EOF) {while(a){scanf("%d",&b);c+=Price(b);a--;}printf("%.1f",c);}return 0;
}
第四题
牛牛刚刚学了素数的定义:素数值指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数
牛牛想知道在 [l,r] 范围内全部素数的和
输入两个正整数 l,r 表示闭区间范围 输出 [l,r] 范围内的素数的和
1分析怎么说素数的定义都告诉我们了 我们不就是让这个区间的数一直除以非1和非本身的数
只要不被整除,那么他就是素数
当然 我们可以有优化方案
就是说,在数学中只要一直除以它的算术平方根就行了
2代码实现
#include <stdio.h>
#include<math.h>
int Iszhishu(int x)
{if(x==1)return 0;int i;for(i=2;i<=sqrt(x);i++){if(x%i==0)return 0; }return x;
}
int main() {int a, b;while (scanf("%d %d", &a, &b) != EOF) { int i;int count=0;for(i=a;i<=b;i++){count+=Iszhishu(i);}printf("%d",count);}return 0;
}
第五题
前面几个题目来自于牛客网,大家可以去那里刷题,现在来看看比较基础的
接下来看 c primer plus的题目
设计一个函数min(x,y),返回两个double类型值的较小值
基础但是,多练
直接代码实现吧
#include<stdio.h>
double Min(double a,double b)
{
return a>b?b:a;}
int main()
{
double a,b;
scanf("%lf %lf",&a,&b);
printf("%.2lf",Min(a,b));
return 0;
}
第六题
设计一个函数chline(ch,i,j)打印指定的字符i列j行
1分析这个题目很基础,没办法,题目是这样的,如果不会,建议你多多看书
2代码实现
#include<stdio.h>
void chline(char ch, int a, int b)
{int i, j;for (i = 0; i < a; i++){for (j = 0; j < b; j++){printf("%c", ch);}printf("\n");}
}
int main()
{while (1){char ch;int ch0;int a, b;printf("输入要打印的字符\n");scanf("%c", &ch);printf("输入要打印的行列\n");scanf("%d%d", &a, &b);chline(ch, a, b);while ((ch0 = getchar()) && ch0 != '\n');}return 0;
}
3细节之处在于我们的万能清除缓存区最后一行的while中
通过这个函数可以把所有的"\n"清除防止被scanf接收到
虽然简单但是细节
我们发现这本书上的代码实践性更高
第七题
计算调和平均数先求两数的倒数,再求两个倒数的平均值,最后就算结果的倒数
直接代码实现
double Tiaohe(double x, double y)
{//return 1/((1/x+1/y)/2);这个结果没有化简return 2 / (1 / x + 1 / y);//化简后代码其实更高效
}
int main()
{double a, b;printf("请输入两个数\n");scanf("%lf %lf", &a, &b);double c=Tiaohe(a, b);printf("%.2lf", c);return 0;
}
值得注意的是,该调和平均数的算式可以化简,不要死算哦
第八题
编写一个函数,从标准输入中读取字符,直至遇到文件结尾程序得报告每个字符是否为字母
如果是还要报告字母在字母表的位置
再编写一个函数, 以一个字符为参数如果是字母返回一个数值位否则返回-1
没什么好说的代码
int Ifzimu(char ch);
void Readchar();
int main()
{Readchar();return 0;
}
void Readchar()
{char ch;while ((scanf("%c", &ch))==1){int a=Ifzimu(ch);if (a!=-1)printf("%d ", a);}
}
int Ifzimu(char ch)
{if (ch >= 'A' && ch <= 'Z'){return (int)(ch - 'A' + 1);}else if (ch >= 'a' && ch <= 'z')return (int)(ch - 'a' + 1);elsereturn -1;
}
总结
今天的题目到此为止祝大家开心
相关文章:
基础练习题之函数
前言 这些题目来自与一些刷题网站,以及c primer plus,继续练习 第一题 给你一个数,让他进行巴啦啦能量,沙鲁沙鲁,小魔仙大变身,如果进行变身的数不满足条件的话,就继续让他变身。。。直到满足条件为止。 巴啦啦能量…...

Java NIO浅析
NIO(Non-blocking I/O,在Java领域,也称为New I/O),是一种同步非阻塞的I/O模型,也是I/O多路复用的基础,已经被越来越多地应用到大型应用服务器,成为解决高并发与大量连接、I/O处理问题…...
数据挖掘与大数据的结合
随着大数据技术的不断发展和普及,数据挖掘在大数据环境下的应用也变得更加广泛和深入。以下将探讨大数据技术对数据挖掘的影响,以及如何利用大数据技术处理海量数据并进行有效的数据挖掘,同时分析大数据环境下的数据挖掘挑战和解决方案。 1.…...
分布式链路追踪(一)SkyWalking(2)使用
一、使用方法 1、简介 agent探针可以让我们不修改代码的情况下,对Java应用上使用到的组件进行动态监控,获取运行数据发送到OAP上进行统计和存储。agent探针在Java使用中是使用Java agent技术实现。不需要更改任何代码,Java agent会通过虚拟…...

【QT入门】VS2019+QT的开发环境配置
声明:该专栏为本人学习Qt知识点时候的笔记汇总,希望能给初学的朋友们一点帮助(加油!) 往期回顾: 【QT入门】什么是qt,发展历史,特征,应用,QtCreator-CSDN博客【QT入门】Windows平台下…...

RTP 控制协议 (RTCP) 反馈用于拥塞控制
摘要 有效的 RTP 拥塞控制算法,需要比标准 RTP 控制协议(RTCP)发送方报告(SR)和接收方报告(RR)数据包提供的关于数据包丢失、定时和显式拥塞通知 (ECN) 标记的更细粒度的反馈。 本文档描述了 RTCP 反馈消息,旨在使用 RTP 对交互式实时流量启用拥塞控制…...

基于SpringBoot SSM vue办公自动化系统
基于SpringBoot SSM vue办公自动化系统 系统功能 登录 个人中心 请假信息管理 考勤信息管理 出差信息管理 行政领导管理 代办事项管理 文档管理 公告信息管理 企业信息管理 会议室信息管理 资产设备管理 员工信息管理 开发环境和技术 开发语言:Java 使用框架: S…...

SpingBoot集成Rabbitmq及Docker部署
文章目录 介绍RabbitMQ的特点Rabbitmq术语消息发布接收流程 Docker部署管理界面说明Overview: 这个页面显示了RabbitMQ服务器的一般信息,例如集群节点的名字、状态、运行时间等。Connections: 在这里,可以查看、管理和关闭当前所有的TCP连接。Channels: …...

子组件自定义事件$emit实现新页面弹窗关闭之后父界面刷新
文章目录 需求弹窗关闭之后父界面刷新展示最新数据 实现方案AVUE 大文本默认展开slotVUE 自定义事件实现 父界面刷新那么如何用呢? 思路核心代码1. 事件定义2. 帕斯卡命名组件且在父组件中引入以及注册3. 子组件被引用与父事件监听4.父组件回调函数 5.按钮弹窗事件 需求 弹窗…...
【框架】跨端开发框架介绍(Windows/MacOS/Linux/Andriod/iOS/H5/小程序)
1. 跨端框架介绍 跨端框架 基本信息 说明 移动端 (性能:uniapp < ReactNative < Flutter) uniapp 注:weex已经嵌入uniapp 适用范围:Andriod、iOS、H5、国产小程序、快应用 引擎: 所属公司&#x…...
亚马逊云科技 Lambda 运行selenium
有些定时任务需要使用自动化测试的工具,如果使用亚马逊云科技 Lambda来实现这个功能的话,那么就需要图形框架,而我们知道lambda其实是一个虚拟机,而且按照系统级别依赖比较困难。所以这里选择使用容器的形式进行发布。 在dockerf…...

算法——前缀和之除自身以外数组的乘积、和为K的子数组、和可被K整除的子数组、连续数组、矩阵区域和
这几道题对于我们前面讲过的一维、二维前缀和进行了运用,包含了面对特殊情况的反操作 目录 4.除自身以外数组的乘积 4.1解析 4.2题解 5.和为K的子数组 5.1解析 5.2题解 6.和可被K整除的子数组 6.1解析 6.2题解 7.连续数组 7.1题解 7.2题解 8.矩阵区域和 8.1解析 …...

Text-to-SQL 工具Vanna + MySQL本地部署 | 数据库对话机器人
今天我们来重点研究与实测一个开源的Text2SQL优化框架 – Vanna 1. Vanna 简介【Text-to-SQL 工具】 Vanna 是一个基于 MIT 许可的开源 Python RAG(检索增强生成)框架,用于 SQL 生成和相关功能。它允许用户在数据上训练一个 RAG “模型”&a…...

linux最佳入门(笔记)
1、内核的主要功能 2、常用命令 3、通配符:这个在一些启动文件中很常见 4、输入/输出重定向 意思就是将结果输出到别的地方,例如:ls标准会输出文件,默认是输出到屏幕,但是用>dir后,是将结果输出到dir文…...
加速 PyTorch 模型预测常见方法梳理
目录 1. 使用 GPU 加速 2. 批量推理 3. 使用半精度浮点数 (FP16) 4. 禁用梯度计算 5. 模型简化与量化 6. 使用 TorchScript 7. 模型并行和数据并行 结论 在使用 PyTorch 进行模型预测时,可以通过多种方法来加快推理速度。以下是一些加速模型预测的常用方法&…...

【STM32定时器 TIM小总结】
STM32 TIM详解 TIM介绍定时器类型基本定时器通用定时器高级定时器常用名词时序图预分频时序计数器时序图 定时器中断配置图定时器定时 代码调试 TIM介绍 定时器(Timer)是微控制器中的一个重要模块,用于生成定时和延时信号,以及处…...

RISC-V 编译环境搭建:riscv-gnu-toolchain 和 riscv-tools
RISC-V 编译环境搭建:riscv-gnu-toolchain 和 riscv-tools 编译环境搭建以及说明 操作系统:什么系统都可以 虚拟机:VMmare Workstation Pro 17.50.x (版本不限) 编译环境:Ubuntu 18.04.5 CPU:i7-8750h(虚拟机分配4核…...

一文速通ESP32(基于MicroPython)——含示例代码
ESP32 简介 ESP32-S3 是一款集成 2.4 GHz Wi-Fi 和 Bluetooth 5 (LE) 的 MCU 芯片,支持远距离模式 (Long Range)。ESP32-S3 搭载 Xtensa 32 位 LX7 双核处理器,主频高达 240 MHz,内置 512 KB SRAM (TCM),具有 45 个可编程 GPIO 管…...
记录一次业务遇到的sql问题
刚开始工作 业务能力比较薄弱 记录一下这几天遇见的一个业务问题 场景 先简单说一下场景,有一批客户(一张表),可以根据这个客户匹配出很多明细数据(另一张表),现在需要删除明细,一个…...
代码分支管理
代码分支管理规范 一、分支管理要求 分支管理 • 将代码提交到适当的分支,遵循分支管理策略。 • 随时可以切换到线上稳定版本代码,确保可以快速回滚到稳定版本。 • 同时进行多个版本的开发工作,确保分支清晰,避免混淆。提交记录的可读性 • 提交描述准确,具有可检索性,…...

铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...

YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...

高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...

ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...