基础练习题之函数
前言
这些题目来自与一些刷题网站,以及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问题
刚开始工作 业务能力比较薄弱 记录一下这几天遇见的一个业务问题 场景 先简单说一下场景,有一批客户(一张表),可以根据这个客户匹配出很多明细数据(另一张表),现在需要删除明细,一个…...

代码分支管理
代码分支管理规范 一、分支管理要求 分支管理 • 将代码提交到适当的分支,遵循分支管理策略。 • 随时可以切换到线上稳定版本代码,确保可以快速回滚到稳定版本。 • 同时进行多个版本的开发工作,确保分支清晰,避免混淆。提交记录的可读性 • 提交描述准确,具有可检索性,…...

uniapp sqlite时在无法读取到已准备好数据的db文件中的数据
问题 {“code”:-1404,“message”:“android.database.sqlite.SQLiteException: no such table: user (Sqlite code 1): , while compiling: select * from user, (OS error - 2:No such file or directory),http://ask.dcloud.net.cn/article/282”} at pages/index/index.vu…...

源码编译部署LAMP
编译部署LAMP 配置apache [rootzyq ~]#: wget https://downloads.apache.org/apr/apr-1.7.4.tar.gz --2023-12-11 14:35:57-- https://downloads.apache.org/apr/apr-1.7.4.tar.gz Resolving downloads.apache.org (downloads.apache.org)... 88.99.95.219, 135.181.214.104…...

Echo框架:高性能的Golang Web框架
Echo框架:高性能的Golang Web框架 在Golang的Web开发领域,选择一个适合的框架是构建高性能和可扩展应用程序的关键。Echo是一个备受推崇的Golang Web框架,以其简洁高效和强大功能而广受欢迎。本文将介绍Echo框架的基本特点、使用方式及其优势…...

数据结构--七大排序算法(更新ing)
下面算法编写的均是按照由小到大排序版本 选择排序 思想: 每次遍历待排序元素的最大下标,与待排序元素中最后一个元素交换位置(此时需要设置一个临时变量来存放下标) 时间复杂度--O(n^2) 空间复杂度--O(1) 稳定性--不稳定 代码实…...

202203青少年软件编程(图形化) 等级考试试卷(二级)
第1题:【 单选题】 红框中加入哪个选项积木, 不能阻止气球下落? ( ) A: B: C: D: 【正确答案】: D 【试题解析】 : 第2题:【 单选题】 下图分别是两个角色的初始位置和“黑色圆形”的程序, 点击绿旗后, 角色显示为下列哪个选项?( ) A: B: C: D: 【正确答…...

【智能硬件、大模型、LLM 智能音箱】Emo:基于树莓派 4B DIY 能笑会动的桌面机器人
简介 Emo 是一款个人伴侣机器人,集时尚与创新于一身。他的诞生离不开最新的树莓派 4 技术和先进的设计。他不仅仅是一款机器人,更是一个活生生的存在。与其他机器人不同,他拥有独特的个性和情感,能够俘获你的心灵。 硬件部分 – 树莓派 4B – 微雪 2 英寸 IPS LCD 显示屏…...

rust学习笔记(1-7)
原文 8万字带你入门Rust 1.包管理工具Cargo 新建项目 1)打开 cmd 输入命令查看 cargo 版本 cargo --version2) 使用 cargo new 项目名 在文件夹,按 shift 鼠标右键 ,打开命令行,运行如下命令,即可创建…...

vscode jupyter 如何关闭声音
网上之前搜的zen模式失败 仅仅降低sound失败 #以下是成功方式: 首先确保user和remote的声音都是0: 然后把user和remote的以下设置都设置为off就行了! 具体操作参考 https://stackoverflow.com/questions/54173462/how-to-turn-off-or-on-so…...

plt保存PDF矢量文件中嵌入可编辑字体(可illustrator编辑)
背景: 用默认 plt.savefig() 保存图片,图中文字是以瞄点保存,而不是以文字格式。在编辑矢量图中,无法调整文字大小和字体。 方法: import matplotlib.pyplot as plt import numpy as np# ------输出的图片为illustr…...

Nacos与Eureka的使用与区别
Nacos与Eureka的使用与区别 单体架构:优点缺点 分布式架构需要考虑的问题:微服务企业需求 认识SpringCloud服务的拆分与远程调用微服务调用方式 Eureka提供者和消费者架构搭建Eureka服务注册服务发现 Ribbon负载均衡饥饿加载总结 Nacos注册中心Nacos安装…...