C语言 编程练习:解决五个有趣的问题
文章目录
- 编程练习:解决五个有趣的问题
- 1. 出租车费用计算器
- 1. 1 代码code
- 2. 成绩转换统计
- 2. 1 代码code
- 3. 交错序列求和
- 3. 1 代码code
- 4. 阶乘序列求和
- 4. 1 代码code
- 5. 输出星号图案
- 5. 1 代码code
编程练习:解决五个有趣的问题
在编程的世界里,解决问题是一种乐趣,也是提升技能的有效方式。今天,我将带你一起解决五个有趣的编程问题,这些问题覆盖了不同的编程概念和技巧。
1. 出租车费用计算器
问题描述:
编写一个程序,根据某城市的出租车收费标准计算车费。收费标准如下:
- 起步里程为3公里,起步费10元;
- 超起步里程后10公里内,每公里2元;
- 超过10公里以上的部分加收50%的回空补贴费,即每公里3元;
- 营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。
输入输出示例:
- 输入:
2.6 2(行驶里程和等待时间) - 输出:
10(车费)
1. 1 代码code
//
// Created by d on 2024/10/11.
//
#include <stdio.h>int main() {double juli, stop_time;double cost = 10.0; // 起步价scanf("%lf %lf", &juli, &stop_time);// 计算超过起步里程的费用if (juli > 3) {cost += 2.0 * (juli - 3);if (juli > 13) {cost += 3.0 * (juli - 13);}}cost += (int) (stop_time / 5) * 2;// 四舍五入到整数printf("%d\n", (int) (cost + 0.5));return 0;
}
2. 成绩转换统计
问题描述:
编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。转换规则如下:
- 大于等于90分为A;
- 小于90且大于等于80为B;
- 小于80且大于等于70为C;
- 小于70且大于等于60为D;
- 小于60为E。
输入输出示例:
- 输入:
7(学生人数)
77 54 92 73 60 65 69(学生成绩) - 输出:
1 0 2 3 1(各等级人数)
2. 1 代码code
//
// Created by d on 2024/10/11.
//
#include <stdio.h>int main() {double juli, stop_time;double cost = 10.0; // 起步价scanf("%lf %lf", &juli, &stop_time);// 计算超过起步里程的费用if (juli > 3) {cost += 2.0 * (juli - 3);if (juli > 13) {cost += 3.0 * (juli - 13);}}cost += (int) (stop_time / 5) * 2;// 四舍五入到整数printf("%d\n", (int) (cost + 0.5));return 0;
}
3. 交错序列求和
问题描述:
编写程序计算交错序列 1 - 2/3 + 3/5 - 4/7 + 5/9 - 6/11 +... 的前N项之和。
输入输出示例:
- 输入:
5(项数) - 输出:
0.917(序列和,保留三位小数)
3. 1 代码code
//
// Created by d on 2024/10/11.
//#include <stdio.h>
int main() {int n; // 项double sum = 0.0; // 和double term; // 每一项scanf("%d", &n); // 读入项数for (int i = 1; i <= n; i++) {term = (double)i / (2 * i - 1);if (i % 2 == 0) { // 如果是偶数项,则为负term = -term;}sum += term;}printf("%.3f\n", sum);return 0;
}
4. 阶乘序列求和
问题描述:
编写程序计算序列 1!+2!+3!+⋯ 的前N项之和。
输入输出示例:
- 输入:
5(项数) - 输出:
153(阶乘和)
4. 1 代码code
//
// Created by d on 2024/10/11.
//#include <stdio.h>int main() {int n,sum = 0, cheng = 1;scanf_s("%d", &n);for (int i = 1; i <= n; i++) {cheng *= i;sum += cheng;}printf("%lld\n", sum);return 0;
}
5. 输出星号图案
问题描述:
编写程序输出如下星号图案:
*
*************
***************
输入输出示例:
- 无需输入
- 输出:如上星号图案
5. 1 代码code
#include <stdio.h>int main() {int rows = 4;for (int i = 0; i < rows; i++) {for (int j = 0; j < rows - i - 1; j++) {printf(" ");}for (int j = 0; j < 2 * i + 1; j++) {printf("*");}printf("\n");}for (int i = 0; i < rows - 2; i++) {for (int j = 0; j < rows - 1; j++) {printf(" ");}for (int j = 0; j < 2 * (rows - i - 2) + 1; j++) {printf("*");}printf("\n");}return 0;
}
这些练习不仅能够锻炼你的编程技能,还能帮助你理解算法和数据结构的基本概念。希望你喜欢这些挑战,并从中学到新的知识!如果你有任何问题或需要帮助,随时在评论区告诉我,我会尽力帮助你。祝你编程愉快!🚀💻
相关文章:
C语言 编程练习:解决五个有趣的问题
文章目录 编程练习:解决五个有趣的问题1. 出租车费用计算器1. 1 代码code 2. 成绩转换统计2. 1 代码code 3. 交错序列求和3. 1 代码code 4. 阶乘序列求和4. 1 代码code 5. 输出星号图案5. 1 代码code 编程练习:解决五个有趣的问题 在编程的世界里&#…...
二、安装vmtools
1、 介绍 vmtools 安装后,可以让我们在 windows 下更好的管理 vm 虚拟机。可以设置 windows 和 centos 的共享文件夹 当时当我们发现安装虚拟机工具位置是灰色的 右击打开终端 在终端输入命令 yum list installed | grep open-vm-*yum list installed 命令会列出…...
用echarts画天气预报
如图 上代码 <template><div id"temp15day"></div> </template><script setup> import * as echarts from "echarts"; const initChart () > {const machart echarts.init(document.getElementById("temp15day&q…...
如果要存IP地址,用什么数据类型比较好?(java)
存储IP地址需要考虑到IPv4和IPv6的不同特点,以及系统的需求。我们可以从字符串、整数和二进制三种常用方式来讨论如何高效存储和处理IP地址。 1. IPv4存储 1.1 字符串存储 优点:直观易读,简单易用。缺点:占用更多的存储空间&am…...
LinkedList源码解读
这里写目录标题 简介源码解读基础变量构造函数LinkedList()LinkedList(Collection<? extends E> c) 总结 简介 LinkedList 是对 Java 集合框架中 List 接口的一种具体实现,归属于线性数据结构的范畴。其核心内部结构是通过双向链表(double-linke…...
springboot feign-httpclient 连接池配置
在默认情况下 spring cloud feign 在进行各个子服务之间的调用时,http组件使用的是jdk的HttpURLConnection,没有使用线程池。有2种可选的线程池:HttpClient 和 OKHttp 在Spring Boot项目中使用Feign并配置HttpClient连接池,你需要…...
电汽车充电革命:充电桩的过去现在与未来
电动汽车充电革命:中国充电桩行业的过去、现在与未来 一、发展历程概述 中国充电桩行业的发展历程可划分为以下几个阶段: 1. 初始期(2006-2008年):在此阶段,国家队主导市场,主要参与者包括国…...
windows server 2019中安装.net framework 3.5功能出错
转自金蝶云社区|财务金融企业信息化|IT精英人脉圈子-金蝶云社区官网 [故障现象] Windows server 2019系统安装net framework3.5时默认情况下会出现报错,提示错误:error 0x800F0954。 问题说明: 根据网上资料尝试了几种方式都不行: (1)离线下载net framework3.5进行安装(不…...
vscode gitlens收费破解
首先打开vscode 插件栏 搜索GitLens 找到对应插件 这里我已经安装完成,如果未安装的点击install 并且下载指定版本V15.1.0 不然后续操作 不生效 找到对应面板 点击查看GitLens 安装完成后,并不能立即使用 显示一下内容,需要付费 这里很关键&…...
IPv 4
IP协议 网络层主要由IP(网际协议)和ICMP(控制报文协议)构成,对应OSI中的网络层,网络层以实现逻辑层面点对点通信为目的。目前应用最广泛的IP协议为IPv4 基本概念给出 主机:配有IP地址但不具有路…...
SQL 注入漏洞 - 学习手册
0x01:SQL 注入前导知识 0x0101:SQL 注入 —— MySQL 数据库概述 知识速查:SQL 注入前导知识 SQL 注入 —— MySQL 数据库概述 获取数据库名 : select schema_name from information_schema.schemata;获取数据表名 : select table_name from …...
AVLTree 旋转笔记(根据平衡因子插入的公式,贼好理解)
平衡因子 avltree是一棵每个节点的左右子树的高度差不超过1的二叉树搜索树,对于avltree最重要的就是对平衡因子的控制。 对于旋转我们重点要注意的是三个节点,以左旋举例,需要注意的就是parent,subr,subrl。而旋转的方…...
STM32(十八):SPI通信
SPI通信: SPI(Serial Peripheral Interface)是由Motorola公司开发的一种通用数据总线 四根通信线:SCK(Serial Clock)、MOSI(Master Output Slave Input)主机输出从机输入、MISO&…...
Redis持久化机制(RDBAOF详解)
目录 一、Redis持久化介绍二、Redis持久化方式1、RDB持久化(1) 介绍(2) RDB持久化触发机制(3) RDB优点和缺点(4) RDB流程 2、AOF(append only file)持久化(1) 介绍(2) AOF优点和缺点(3) AOF文件重写(4) AOF文件重写流程 三、AOF和RDB持久化注意事项 一、Redis持久化介绍 Redis…...
蛋白质结构中pdbx_strand_id和entity_id相互转化
在蛋白质结构中,entity_id 和 pdbx_strand_id 表示的是不同的概念,涉及到不同层次的信息。 1. entity_id (实体 ID): 定义:entity_id 标识蛋白质结构中的一个“实体”(entity)。一个实体可以是一个多肽链、DNA 链、RNA 链,或者某些小分子(如辅因子、配体等)。特点:每…...
【父子线程传值TransmittableThreadLocal使用踩坑-及相关知识拓展】
文章目录 一.业务背景二.TransmittableThreadLocal是什么?三.问题复现1.定义注解DigitalAngel2.定义切面3.TransmittableThreadLocal相关4.线程池配置信息5.Controller6.Service7.测试结果8.问题分析9 解决办法及代码改造10.最终测试: 四.与 ThreadLocal…...
03 快乐树
快乐树 我们由题可以得出结论:一共有三种情况,但实际中第三中情况不存在。 证明第三中情况不存在: 我敲的代码 public boolean isHappy(int n) {int slown;int fastn;while(true) {int sum0;while(slow!0) {sum(slow%10)*(slow%10);slow/1…...
springboot+react实现移动端相册(上传图片到oss/ 批量删除/ 查看图片详情等功能)
相册页面及功能展示: react前端结构及代码: Java后端结构及代码 数据库结构: photo: user 这是首个利用AI自有知识构建的简易相册系统,项目是react构造前端spring boot构造后端。 前端有四个主要页面࿱…...
Python、R语言Lasso、Ridge岭回归、XGBoost分析Airbnb房屋数据:旅游市场差异、价格预测|数据分享...
全文链接:https://tecdat.cn/?p37839 分析师:Kefan Yu 在大众旅游蓬勃发展的背景下,乡村旅游已成为推动乡村经济、社会和文化发展的关键力量。当前,乡村旅游接待设施主要以招待所、小宾馆和农家乐等形式存在。然而,一…...
Spring Boot驱动的交互式作业管理系统:师生共评功能实现
1系统概述 1.1 研究背景 如今互联网高速发展,网络遍布全球,通过互联网发布的消息能快而方便的传播到世界每个角落,并且互联网上能传播的信息也很广,比如文字、图片、声音、视频等。从而,这种种好处使得互联网成了信息传…...
大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...
JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
莫兰迪高级灰总结计划简约商务通用PPT模版
莫兰迪高级灰总结计划简约商务通用PPT模版,莫兰迪调色板清新简约工作汇报PPT模版,莫兰迪时尚风极简设计PPT模版,大学生毕业论文答辩PPT模版,莫兰迪配色总结计划简约商务通用PPT模版,莫兰迪商务汇报PPT模版,…...
TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?
在工业自动化持续演进的今天,通信网络的角色正变得愈发关键。 2025年6月6日,为期三天的华南国际工业博览会在深圳国际会展中心(宝安)圆满落幕。作为国内工业通信领域的技术型企业,光路科技(Fiberroad&…...
