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

C++ primer Plus第六章编程题

1.编写一个程序,读取键盘输入,直到遇到@符号为止,并回显 输入(数字除外),同时将大写字符转换为小写,将小写字符转换为大 写(别忘了cctype函数系列)。

#include<iostream>
#include<cctype>
using namespace std;int main() {char ch;while ((ch = cin.get()) != '@') {if (isupper(ch)) {//判断是否是大写ch = tolower(ch);//转换成小写}else if (islower(ch)) {//判断是否小写ch = toupper(ch);//转换成大写}else if (isdigit(ch)) {//判断是否为数字continue;//跳过}cout << ch;}return 0;
}

2.编写一个程序,最多将10个donation值读入到一个double数组中 (如果您愿意,也可使用模板类array)。程序遇到非数字输入时将结束 输入,并报告这些数字的平均值以及数组中有多少个数字大于平均值。

#include<iostream>
#include<array>using namespace std;int main() {array<double, 10> donation;double sum = 0, ave = 0, count = 0;double above_ave = 0;int i;for (i = 0; i < 10; i++) {cout << "Enter donation " << i + 1 << ":";cin >> donation[i];if (!cin.fail()) {sum += donation[i];}else {break;}count++;}//输出为0时if (i == 0) {cout << "No valid donation enterd." << endl;return 0;}ave = sum / count;//求平均值for (int j = 0; j < count; j++) {if (donation[j] > ave)above_ave++;}cout << "the Average: " << ave << " and " << above_ave << " number of donation above average";return 0;
}

3.编写一个菜单驱动程序的雏形。该程序显示一个提供4个选项的 菜单——每个选项用一个字母标记。如果用户使用有效选项之外的字母 进行响应,程序将提示用户输入一个有效的字母,直到用户这样做为 止。然后,该程序使用一条switch语句,根据用户的选择执行一个简单 操作。该程序的运行情况如下:

#include<iostream>
using namespace std;void showmenu();
int main() {showmenu();char ch;while (true) {cin >> ch;switch (ch){case 'c':cout << "Tiger is carnivore.";break;case 'p':cout << "John is a pianist.";break;case 't':cout << "A maple is a tree.";break;case 'g':cout << "Let's play a game!";break;default:cout << "Please enter c,p,t,or g:";continue;}break;}}void showmenu() {cout << "Please enter one of the following choices:\n";cout << "c) carnivore(肉食动物)";cout.width(30);/

相关文章:

  • 比较(二)利用python绘制雷达图
  • 推荐ChatGPT4.0——Code Copilot辅助编程、Diagrams: Show Me绘制UML图、上传PDF并阅读分析
  • 企业打款验证API在Java、Python、PHP中的使用教程
  • YOLOv10环境搭建推理测试
  • 程序员的灵魂究竟是什么
  • 人天软件项目管理复盘
  • AI大模型页面
  • 华为校招机试 - 字符串解析(20240515)
  • Django企业招聘后台管理系统开发实战四
  • 什么牌子的无线领夹麦克风好?一文读懂领夹麦克风什么牌子好!
  • Java排序算法汇总篇,八种排序算法
  • 【启明智显芯片应用】Model3C芯片4.3寸拼图机应用方案
  • Ubuntu上安装Open CASCADE(OCC)
  • python小练习03
  • 404错误页面源码,简单实用的html错误页面模板
  • hexo+github搭建个人博客
  • [Vue CLI 3] 配置解析之 css.extract
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • Apache Pulsar 2.1 重磅发布
  • Asm.js的简单介绍
  • css的样式优先级
  • Debian下无root权限使用Python访问Oracle
  • exif信息对照
  • input的行数自动增减
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • JavaScript DOM 10 - 滚动
  • node学习系列之简单文件上传
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • vue-cli在webpack的配置文件探究
  • 给Prometheus造假数据的方法
  • 今年的LC3大会没了?
  • 批量截取pdf文件
  • 前端技术周刊 2019-01-14:客户端存储
  • 数据可视化之 Sankey 桑基图的实现
  • 一道面试题引发的“血案”
  • 一份游戏开发学习路线
  • 中文输入法与React文本输入框的问题与解决方案
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • ​zookeeper集群配置与启动
  • ​什么是bug?bug的源头在哪里?
  • #systemverilog# 之 event region 和 timeslot 仿真调度(十)高层次视角看仿真调度事件的发生
  • $$$$GB2312-80区位编码表$$$$
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (175)FPGA门控时钟技术
  • (CPU/GPU)粒子继承贴图颜色发射
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (二)Eureka服务搭建,服务注册,服务发现
  • (十六)串口UART
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (一)UDP基本编程步骤
  • (转)Windows2003安全设置/维护
  • .NET Core中的时区转换问题
  • .NET 某和OA办公系统全局绕过漏洞分析