当前位置: 首页 > news >正文

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;
}

这些练习不仅能够锻炼你的编程技能,还能帮助你理解算法和数据结构的基本概念。希望你喜欢这些挑战,并从中学到新的知识!如果你有任何问题或需要帮助,随时在评论区告诉我,我会尽力帮助你。祝你编程愉快!🚀💻

http://www.lryc.cn/news/458388.html

相关文章:

  • 二、安装vmtools
  • 用echarts画天气预报
  • 如果要存IP地址,用什么数据类型比较好?(java)
  • LinkedList源码解读
  • springboot feign-httpclient 连接池配置
  • 电汽车充电革命:充电桩的过去现在与未来
  • windows server 2019中安装.net framework 3.5功能出错
  • vscode gitlens收费破解
  • IPv 4
  • SQL 注入漏洞 - 学习手册
  • AVLTree 旋转笔记(根据平衡因子插入的公式,贼好理解)
  • STM32(十八):SPI通信
  • Redis持久化机制(RDBAOF详解)
  • 蛋白质结构中pdbx_strand_id和entity_id相互转化
  • 【父子线程传值TransmittableThreadLocal使用踩坑-及相关知识拓展】
  • 03 快乐树
  • springboot+react实现移动端相册(上传图片到oss/ 批量删除/ 查看图片详情等功能)
  • Python、R语言Lasso、Ridge岭回归、XGBoost分析Airbnb房屋数据:旅游市场差异、价格预测|数据分享...
  • Spring Boot驱动的交互式作业管理系统:师生共评功能实现
  • 基于SSM的旅游网站【附源码】
  • Python实现将目标文本批量存入Word,并将文本段落的开头进行缩进处理(11)
  • el-select 下拉框选项文字过长解决方案
  • C语言基础语法——类型转换
  • 来电无通话界面问题分析
  • 物理学基础精解【70】
  • HCIP--以太网交换安全(三)MAC地址漂移防止与检测
  • CSS3--美若天仙!?
  • 详细版的Jsoncpp的使用,包括在VS环境下配置
  • 开发指南070-3d模型
  • 问卷调查毕设计算机毕业设计投票系统SpringBootSSM框架