【C++基础教程】第四课
上次的课后练习
第1题输出:

第二题输出:1
第三题:
#include<iostream>
#include<cmath>
using namespace std;
int main(){
double n,x,y;
cin>>n>>x>>y;
cout << n - ceil ( y/ x);
return 0;
}
提示:y是总时间,除以速度就是吃掉了多少个,向上取整,再用n去减,就是一共剩下多少个。
一,if语句
【例题】计算出租车价格。小于3分里收11元,大于3公里先收11元,3公里以外部分再每公里2.1元。
}
#include<stdio.h>
int main(){
int n;
cin>>n;
if(n<=3){
cout<<11;
}
if(n>3){
cout<<11+(n-3)*2.1;
}
return 0;
}
除此之外,C++还提供了if...else语句。
#include<stdio.h>
int main(){
int n;
cin>>n;
if(n<=3){
cout<<11;
}
else{
cout<<11+(n-3)*2.1;
}
return 0;
}
【例题】输入学生的分数,计算学生的等第。
#include<stdio.h>
int main(){
int n;
cin>>n;
if(n>=90 && n<=100){
cout<<"A";
}
else if(n>=75 && n<=89){
cout<<"B";
}
else if(n>=60 && n<=74){
cout<<"C";
}
else cout<<"D";
return 0;
}
有人会问,为什么不写成90<=n<=100呢?C++不支持这样写,它会理解成(90<=n)<=100,如果90<=n成立,成立的语句在计算的时候看做是1,于是就理解为了1<=100,并不是我们想要的,所以不可以这样写。
【例题】(NOIP 2015 普及组初赛真题)阅读程序写结果。
#include <iostream>
using namespace std;
int main() {
int a, b, c; a = 1;
b = 2;
c = 3;
if(a > b)
if(a > c)
cout << a << ' ';
else
cout << b << ' ';
cout << c << endl;
return 0;
}
首先,我们先看第7行的if(a>b),由于1<2,不成立,其中所有if中的语句(即缩进部分)全部被跳过,一直到倒数第三行,所以输出c,正确答案是:3。
二,课后作业
1,阅读程序写结果。
#include<iostream>
using namespace std;
int main(){
char c;
cin>>c;
cout<<c<<"is ";
if(c>='0'&&c<='9')cout<<"a number";
else cout<<"not a number";
return 0;
}
输入:4
2,编写程序,实现简易计算器。要求:
输入两个数和一个运算符,中间用空格分割,输出按照要求的计算结果。
样例输入:10 + 2
样例输出:12
【C++基础教程】第四课的更多相关文章
- NeHe OpenGL教程 第四课:旋转
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- Android OpenGL教程-第四课【转】
第四课 旋转: 在这一课里,我将教会你如何旋转三角形和四边形.左图中的三角形沿Y轴旋转,四边形沿着X轴旋转. 我们增加两个变量来控制这两个对象的旋转.这两个变量加在程序的开始处其他变量的后面.它们是浮 ...
- 《jQuery基础教程(第四版)》学习笔记
本书代码参考:Learning jQuery Code Listing Browser 原书: jQuery基础教程 目录: 第2章 选择元素 1. 使用$()函数 2. 选择符 3. DOM遍历方法 ...
- Linux零基础入门第四课
根据直播讲义整理的内容,从第四课开始.前三课的内容若后面有精力会一并整理进来. 文件的基本操作(上) 创建.删除.复制.移动和重命名 touch命令创建文件 语法 >$ touch file0 ...
- GeoServer基础教程(四):空间数据互操作的接口规范WMS、WFS和WCS
转载:https://ethanblog.com/tech/all-about-wms-wfs-and-wcs.html 前面几节介绍了GeoServer基础教程的一些基本操作,相信大家对GeoSer ...
- ActiveMQ基础教程(四):.net core集成使用ActiveMQ消息队列
接上一篇:ActiveMQ基础教程(三):C#连接使用ActiveMQ消息队列 这里继续说下.net core集成使用ActiveMQ.因为代码比较多,所以放到gitee上:https://gitee ...
- Kafka基础教程(四):.net core集成使用Kafka消息队列
.net core使用Kafka可以像上一篇介绍的封装那样使用(Kafka基础教程(三):C#使用Kafka消息队列),但是我还是觉得再做一层封装比较好,同时还能使用它做一个日志收集的功能. 因为代码 ...
- 【C++基础教程】第一课
一,C++基础 1.1.什么是C++ C++是一种面向对象的编程语言,如今被广泛应用于各种行业. 1.2.C++的语法特点 一般C++的程序长成这个样子: #include<...> // ...
- Tomcat基础教程(四)
一.将Web应用部署到Tomcat中 为什么要部署?将Web应用部署到Tomcat中,那么Tomcat就能找到相应的Web应用,当Tomcat启动时就会加载和初始化Web应用,而在Tomcat启动后, ...
- jQuery基础教程第四版练习答案
第二章 1. $('#selected-plays>li>ul>li').nextAll().addBack().addClass('special'); 2. $('table') ...
随机推荐
- linux copy_id
ssh-keygen 产生公钥与私钥对. ssh-copy-id 将本机的公钥复制到远程机器的authorized_keys文件中,ssh-copy-id也能让你有到远程机器的home, ~./ssh ...
- python数据统计之禅道bug统计
背景 通过定期输出 每条产品的 BUG 情况,以此来反馈开发解决问题.测试跟进问题的情况:钉钉群推送提醒开发及时解决 以此我这边开始着手准备编写一个小工具,最终达到目的:自动定期发送统计报告,报告维度 ...
- 带你读AI论文丨用于目标检测的高斯检测框与ProbIoU
摘要:本文解读了<Gaussian Bounding Boxes and Probabilistic Intersection-over-Union for Object Detection&g ...
- HCNA Routing&Switching之地址转换技术NAT
前文我们了解了包过滤工具ACL相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15156308.html:今天我们来聊一聊地址转换技术NAT相关话题: ...
- Java Web JSTL实现登陆页面重定向 jstl标签
<form action="js/loginResult.jsp" class="loginForm" id="loginForm" ...
- 真.OI宝典
记得取模%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ...
- 题解 e
传送门 第一眼看貌似可以树剖,然而那个绝对值不知怎么维护 求最小连通块我只会\(k^2\) 主席树貌似可以用来查询区间内与某个数差的绝对值的最小值? 确实,每次查大于等于该数的最小数和小于等于该数的最 ...
- 队列(Queue)\双端队列(Deque)
队列(Queue)\双端队列(Deque) 队列(Queue) 双端队列(Deque) 算法应用 队列(Queue) 特点: 和栈不同,队列的最大特点是先进先出(FIFO),就好像按顺序排队一样.对于 ...
- python创建字典多种方式
1.创建空字典 >>> dic = {} >>> type(dic) <type 'dict'> 2.直接赋值创建 >>> dic = ...
- mzy git学习,禁用Fast forward的普通合并(六)
git merge --no-ff -m "msg" x-branch:禁用Fast forward的普通合并 通常,合并分支时,如果可能,Git会用Fast forward模式, ...