c++0305习题

一、求下面表达式的值

1.0

2.-1

3.1

4.(1)1 (2)3.2  (3)0  (4)7.0

5.(1)0(2)300.005(3)0(4)1(5)1

二、将100元兑换成1元、2元、5元纸币,保证1元、2元、5元纸币的数量至少为1,将所有兑换方法输出,并输出总共有多少种兑换方法?

#include <iostream>
using namespace std;int main() {int count = 0; // 初始化兑换方案计数器为0// 三重循环,分别遍历1元、2元、5元纸币的数量for (int i = 1; i <= 100; i++) { // 1元纸币数量从1到100循环for (int j = 1; j <= 50; j++) { // 2元纸币数量从1到50循环for (int k = 1; k <= 20; k++) { // 5元纸币数量从1到20循环if (i + 2 * j + 5 * k == 100) { // 判断当前组合是否能兑换成100元count++; // 如果能兑换成功,计数器加1cout << "1元:" << i << "张,2元:" << j << "张,5元:" << k << "张" << endl; // 输出当前兑换方案}}}}cout << "总共有 " << count << " 种兑换方法。" << endl; // 输出总共有多少种兑换方法return 0;
}

扩展1.(简约版):

 扩展2.(不考虑所有钱币都存在版):

三. 公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买一百只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱。并输出总共有多少种购买方法。

#include <iostream>
using namespace std;int main() {int count = 0;for (int i = 1; i <= 20; i++) {for (int j = 1; j <= 33; j++) {int k = 100 - i - j;if (5 * i + 3 * j + k / 3 == 100 && k % 3 == 0) {count++;cout << "公鸡:" << i << " 只,母鸡:" << j << " 只,小鸡:" << k << " 只" << endl;}}}cout << "总共有 " << count << " 种购买方法。" << endl;return 0;
}

四, 输入一些字符,直接输入#号结束,将输入的字符大写转换为小写,小写转换为大写,如果是数字则不操作,分别统计完成转换后大写字母小写字母及数字个数。

#include <iostream>
#include <cctype>
using namespace std;int main() {char input;int daCount = 0, xiaoCount = 0, shuziCount = 0;cout << "请输入一些字符,以#号结束:" << endl;while (cin >> input && input != '#') {if (isupper(input)) {cout << "转换后:" << static_cast<char>(tolower(input))<<endl ;xiaoCount++;}else if (islower(input)) {cout << "转换后:" << static_cast<char>(toupper(input))<<endl ;daCount++;}else if (isdigit(input)) {cout << "数字不做转换:" << input<<endl;shuziCount++;}}cout << "大写字母个数:" << daCount << endl;cout << "小写字母个数:" << xiaoCount << endl;cout << "数字个数:" << shuziCount << endl;return 0;
}//while (cin >> input && input != '#') { ... }:这是一个while循环,用于持续地从标准输入读取字符,直到输入为#为止。
// cin >> input表示从标准输入流(通常是键盘)读取一个字符,并将其存储在变量input中。
// input != '#'是一个条件判断,只要读取到的字符不是#,循环就会继续执行。
//if (isupper(input)) { ... }:这是一个if条件语句,用于检查变量input是否包含一个大写字母。
// isupper是一个标准库函数,用于检测传入的字符是否为大写字母。如果是大写字母,则执行大括号{ ... }内的代码。//cout << "转换后:" << static_cast<char>(tolower(input)) << endl; :这行代码做了几件事情:
//tolower(input):调用tolower函数,将input中的大写字母转换为小写字母。如果input不是大写字母,tolower会返回input本身。
//static_cast<char>(...):这是一个类型转换,确保tolower函数的返回值被正确地解释为字符类型。
// 虽然在这个特定的例子中可能不是必需的(因为tolower通常返回int,但可以直接赋值给char),但在更一般的情况下,类型转换可以确保类型的正确性。
//cout << "转换后:" << ... << endl; :输出转换后的字符到标准输出流(通常是屏幕)。
// "转换后:"是一个字符串字面量,用于在输出中标识转换后的字符。endl是一个操纵符,用于插入一个新行,并刷新输出缓冲区。
//lowercaseCount++; :这行代码增加lowercaseCount变量的值。注意,虽然变量名是lowercaseCount,但实际上这里是在计数大写字母被转换为小写字母的次数。
//总结:这段代码的主要功能是读取用户输入的字符,如果字符是大写字母,就输出转换后的小写字母,并增加一个计数器
//这个过程会持续进行,直到用户输入#字符为止。

简单版代码:

#include<iostream>
#include<cctype>
using namespace std;
int main() {char input;int daxiecount=0, xiaoxiecount=0, shuzicount = 0;cout << "请输入一些字符,以#号结束:" << endl;while (cin>>input&&input!='#') {if (isupper(input)) {input = tolower(input);xiaoxiecount++;}else if (islower(input)) {input = toupper(input);xiaoxiecount++;}else {shuzicount++;}cout << input;}cout << endl;cout << "大写个数" << daxiecount << ' ' << "小写个数" << xiaoxiecount << ' ' << "数字个数" << shuzicount << ' ' << endl;return 0;
}

五、一个球从100高度落下,每次反弹原高度的一半,求第10次落地时共经过的路程。 

//5.一个球从100高度落下,每次反弹原高度的一半,求第10次落地时共经过的路程。
#include <iostream>
using namespace std;int main() {double height = 100.0;double distance = 100.0; // 第一次落地的路程for (int i = 2; i <= 10; i++) {height /= 2; // 反弹的高度distance += height * 2; // 一次上升和下降的距离}cout << "第10次落地时共经过的路程为:" << distance << endl;return 0;
}

 

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

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

相关文章

力扣刷题Day11--21. 合并两个有序链表(js)

目录 1&#xff0c;题目 2&#xff0c;代码 2.1迭代思想 2.2递归思想 3&#xff0c;学习与总结 3.1js中的链表类 3.2递归思想 3.3提醒自己 1&#xff0c;题目 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 2&am…

trunk

介绍&#xff1a; 在华为企业级网络模拟平台&#xff08;eNSP&#xff09;中&#xff0c;“trunk” 是指用于在交换机之间传送多个 VLAN 数据的端口。在华为设备中&#xff0c;“trunk” 端口实际上就是可以承载多个 VLAN 数据流的端口。 当两台交换机之间需要互相传送多个 VLA…

全面对比Amazon DocumentDB 与 MongoDB

在云中部署 MongoDB 似乎有多种选择。例如&#xff0c;Amazon DocumentDB自称是完全支持 MongoDB API 的 AWS 原生数据库。虽然它支持一些 MongoDB 功能&#xff0c;但需要注意的是 DocumentDB 并不完全兼容 MongoDB。要在 AWS 上访问功能齐全的“MongoDB 即服务”&#xff0c;…

文件操作上(c语言)

目录 1. 文件的作用2. 什么是文件2.1 程序文件2.2 数据文件2.3 文件名 3. 二进制文件和文本文件4. 文件的打开和关闭4.1 流和标准流4.1.1 流4.1.2 标准流 4.2 文件指针4.3 文件的打开与关闭4.3.1 文件的打开模式4.3.2 实例代码 1. 文件的作用 使用文件可以将数据进行持久化的保…

【50天50个项目】简易进度条

效果: 代码主体: HTML <body><div class"container"><div class"progress-container"><div class"progress" id"progress"></div><div class"circle active">1</div><div …

02-app端文章查看,静态化freemarker,分布式文件系统minIO

app端文章查看&#xff0c;静态化freemarker,分布式文件系统minIO 1)文章列表加载 1.1)需求分析 文章布局展示 1.2)表结构分析 ap_article 文章基本信息表 ap_article_config 文章配置表 ap_article_content 文章内容表 三张表关系分析 1.3)导入文章数据库 1.3.1)导入数据…

golang学习笔记-入门

go build main.go 编译生成 exe go run main.go 直接编译运行 go可以查看官方api源码&#xff0c;在skd安装路径src中 多个import import &#xff08; &#xff09; 字符串用 ~~ ~~反引号&#xff0c;不转义

Linux下menuconfig与Kconfig基础知识概要

一、简介 menuconfig是Linux平台用于管理代码工程、模块及功能的实用工具。上至决定某一程序模块是否编译&#xff0c;下到某一行具体的代码是否需要编译以及某个项的值在本次编译时该是什么都可由menuconfig来定义。 menuconfig的使用方式通常是在编译系统之前在系统源代码根…

C++ 栈OJ

目录 栈的应用场景&#xff1a; 1、 1047. 删除字符串中的所有相邻重复项 2、844. 比较含退格的字符串 3、 227. 基本计算器 II 4、394. 字符串解码 5、946. 验证栈序列 栈的应用场景&#xff1a; 表达式求值&#xff1a;栈常用于中缀表达式转换为后缀表达式&#xff0c;…

Android14音频进阶:AudioTrack如何巧妙衔接AudioFlinger(五十七)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只…

Elemenu中el-table中使用el-popover选中关闭无效解决办法

主要是技术太菜,没找到原因,一点点才找到这个办法解决 因为在el-table-column里,因为是多行,使用trigger"manual" 时,用v-model"visible"来控制时,控件找不到这个值,才换成trigger"click" 先找到弹出关闭事件,再找元素的属性 右键>审核元素…

蓝桥杯python常用内置函数

一、 abs() #返回数字的绝对值 例&#xff1a; 二、 all() #判断给定的可迭代参数中的所有元素是否都为True&#xff0c;若是则返回True&#xff0c;反之返回False 例&#xff1a; 三、 any() #判断给定的可迭代参数是否都为False&#xff0c;全为False则返回False&am…