摘要:本文是PTA编程题"超速判断"的题解,涵盖题目描述、输入输出格式及C++语言实现,展示基于阈值的简单条件判断与格式化输出方法。
题目描述
模拟交通警察的雷达测速仪。输入汽车速度,如果速度超出60 mph,则显示"Speeding",否则显示"OK"。
输入格式:
输入在一行中给出1个不超过500的非负整数,即雷达测到的车速。
输出格式:
在一行中输出测速仪显示结果,格式为:Speed: V - S,其中V是车速,S或者是Speeding、或者是OK。
输入样例:
in
40
in
75
输出样例:
out
Speed: 40 - OK
out
Speed: 75 - Speeding
解题思路
核心问题分析 :
本题是典型的单条件二分支判断问题,核心在于读取车速后与阈值60 mph进行比较,根据比较结果输出不同的提示信息,同时需要严格按照指定格式拼接输出字符串。
算法原理说明:
- 使用标准输入流
cin读取一个整数车速值。 - 利用
if-else条件分支结构进行判断:- 若
speed > 60,判定为超速,输出"Speeding" - 否则(
speed <= 60),判定为正常,输出"OK"
- 若
- 按照
Speed: V - S的固定格式拼接车速值和判断结果进行输出。
具体计算步骤:
- 定义整型变量
speed存储车速。 - 读取输入的车速值。
- 判断
speed是否大于60。 - 按指定格式输出测速结果。
代码部分实现
cpp
#include <iostream>
using namespace std;
int main(void)
{
int speed;
cin >> speed;
if (speed > 60) {
cout << "Speed: " << speed << " - Speeding" << endl;
} else {
cout << "Speed: " << speed << " - OK" << endl;
}
return 0;
}
代码流程说明
- 引入头文件 :引入
<iostream>提供标准输入输出功能。 - 使用命名空间 :
using namespace std;简化代码,省略std::前缀。 - 定义变量 :
speed为int类型,用于存储雷达测得的车速值。 - 读取输入 :
cin >> speed;从标准输入读取一个非负整数存入speed。 - 条件判断与输出 :
speed > 60为真(超速):按格式输出Speed: V - Speeding并换行- 否则(未超速):按格式输出
Speed: V - OK并换行
- 程序结束 :
return 0;表示程序正常终止。
代码流程图
#mermaid-svg-CoQVrDQv8NxERdbM{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-CoQVrDQv8NxERdbM .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-CoQVrDQv8NxERdbM .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-CoQVrDQv8NxERdbM .error-icon{fill:#552222;}#mermaid-svg-CoQVrDQv8NxERdbM .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-CoQVrDQv8NxERdbM .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-CoQVrDQv8NxERdbM .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-CoQVrDQv8NxERdbM .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-CoQVrDQv8NxERdbM .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-CoQVrDQv8NxERdbM .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-CoQVrDQv8NxERdbM .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-CoQVrDQv8NxERdbM .marker{fill:#333333;stroke:#333333;}#mermaid-svg-CoQVrDQv8NxERdbM .marker.cross{stroke:#333333;}#mermaid-svg-CoQVrDQv8NxERdbM svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-CoQVrDQv8NxERdbM p{margin:0;}#mermaid-svg-CoQVrDQv8NxERdbM .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-CoQVrDQv8NxERdbM .cluster-label text{fill:#333;}#mermaid-svg-CoQVrDQv8NxERdbM .cluster-label span{color:#333;}#mermaid-svg-CoQVrDQv8NxERdbM .cluster-label span p{background-color:transparent;}#mermaid-svg-CoQVrDQv8NxERdbM .label text,#mermaid-svg-CoQVrDQv8NxERdbM span{fill:#333;color:#333;}#mermaid-svg-CoQVrDQv8NxERdbM .node rect,#mermaid-svg-CoQVrDQv8NxERdbM .node circle,#mermaid-svg-CoQVrDQv8NxERdbM .node ellipse,#mermaid-svg-CoQVrDQv8NxERdbM .node polygon,#mermaid-svg-CoQVrDQv8NxERdbM .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-CoQVrDQv8NxERdbM .rough-node .label text,#mermaid-svg-CoQVrDQv8NxERdbM .node .label text,#mermaid-svg-CoQVrDQv8NxERdbM .image-shape .label,#mermaid-svg-CoQVrDQv8NxERdbM .icon-shape .label{text-anchor:middle;}#mermaid-svg-CoQVrDQv8NxERdbM .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-CoQVrDQv8NxERdbM .rough-node .label,#mermaid-svg-CoQVrDQv8NxERdbM .node .label,#mermaid-svg-CoQVrDQv8NxERdbM .image-shape .label,#mermaid-svg-CoQVrDQv8NxERdbM .icon-shape .label{text-align:center;}#mermaid-svg-CoQVrDQv8NxERdbM .node.clickable{cursor:pointer;}#mermaid-svg-CoQVrDQv8NxERdbM .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-CoQVrDQv8NxERdbM .arrowheadPath{fill:#333333;}#mermaid-svg-CoQVrDQv8NxERdbM .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-CoQVrDQv8NxERdbM .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-CoQVrDQv8NxERdbM .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-CoQVrDQv8NxERdbM .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-CoQVrDQv8NxERdbM .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-CoQVrDQv8NxERdbM .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-CoQVrDQv8NxERdbM .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-CoQVrDQv8NxERdbM .cluster text{fill:#333;}#mermaid-svg-CoQVrDQv8NxERdbM .cluster span{color:#333;}#mermaid-svg-CoQVrDQv8NxERdbM div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-CoQVrDQv8NxERdbM .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-CoQVrDQv8NxERdbM rect.text{fill:none;stroke-width:0;}#mermaid-svg-CoQVrDQv8NxERdbM .icon-shape,#mermaid-svg-CoQVrDQv8NxERdbM .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-CoQVrDQv8NxERdbM .icon-shape p,#mermaid-svg-CoQVrDQv8NxERdbM .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-CoQVrDQv8NxERdbM .icon-shape .label rect,#mermaid-svg-CoQVrDQv8NxERdbM .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-CoQVrDQv8NxERdbM .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-CoQVrDQv8NxERdbM .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-CoQVrDQv8NxERdbM :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 是
否
开始
引入iostream头文件
使用std命名空间
定义speed为int变量
cin读取speed
speed > 60?
输出 Speed: speed - Speeding 换行
输出 Speed: speed - OK 换行
return 0
结束
解题流程图
#mermaid-svg-Qwb1aGHge96u2HWz{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-Qwb1aGHge96u2HWz .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-Qwb1aGHge96u2HWz .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-Qwb1aGHge96u2HWz .error-icon{fill:#552222;}#mermaid-svg-Qwb1aGHge96u2HWz .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-Qwb1aGHge96u2HWz .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-Qwb1aGHge96u2HWz .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-Qwb1aGHge96u2HWz .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-Qwb1aGHge96u2HWz .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-Qwb1aGHge96u2HWz .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-Qwb1aGHge96u2HWz .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-Qwb1aGHge96u2HWz .marker{fill:#333333;stroke:#333333;}#mermaid-svg-Qwb1aGHge96u2HWz .marker.cross{stroke:#333333;}#mermaid-svg-Qwb1aGHge96u2HWz svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-Qwb1aGHge96u2HWz p{margin:0;}#mermaid-svg-Qwb1aGHge96u2HWz .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-Qwb1aGHge96u2HWz .cluster-label text{fill:#333;}#mermaid-svg-Qwb1aGHge96u2HWz .cluster-label span{color:#333;}#mermaid-svg-Qwb1aGHge96u2HWz .cluster-label span p{background-color:transparent;}#mermaid-svg-Qwb1aGHge96u2HWz .label text,#mermaid-svg-Qwb1aGHge96u2HWz span{fill:#333;color:#333;}#mermaid-svg-Qwb1aGHge96u2HWz .node rect,#mermaid-svg-Qwb1aGHge96u2HWz .node circle,#mermaid-svg-Qwb1aGHge96u2HWz .node ellipse,#mermaid-svg-Qwb1aGHge96u2HWz .node polygon,#mermaid-svg-Qwb1aGHge96u2HWz .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-Qwb1aGHge96u2HWz .rough-node .label text,#mermaid-svg-Qwb1aGHge96u2HWz .node .label text,#mermaid-svg-Qwb1aGHge96u2HWz .image-shape .label,#mermaid-svg-Qwb1aGHge96u2HWz .icon-shape .label{text-anchor:middle;}#mermaid-svg-Qwb1aGHge96u2HWz .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-Qwb1aGHge96u2HWz .rough-node .label,#mermaid-svg-Qwb1aGHge96u2HWz .node .label,#mermaid-svg-Qwb1aGHge96u2HWz .image-shape .label,#mermaid-svg-Qwb1aGHge96u2HWz .icon-shape .label{text-align:center;}#mermaid-svg-Qwb1aGHge96u2HWz .node.clickable{cursor:pointer;}#mermaid-svg-Qwb1aGHge96u2HWz .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-Qwb1aGHge96u2HWz .arrowheadPath{fill:#333333;}#mermaid-svg-Qwb1aGHge96u2HWz .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-Qwb1aGHge96u2HWz .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-Qwb1aGHge96u2HWz .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-Qwb1aGHge96u2HWz .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-Qwb1aGHge96u2HWz .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-Qwb1aGHge96u2HWz .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-Qwb1aGHge96u2HWz .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-Qwb1aGHge96u2HWz .cluster text{fill:#333;}#mermaid-svg-Qwb1aGHge96u2HWz .cluster span{color:#333;}#mermaid-svg-Qwb1aGHge96u2HWz div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-Qwb1aGHge96u2HWz .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-Qwb1aGHge96u2HWz rect.text{fill:none;stroke-width:0;}#mermaid-svg-Qwb1aGHge96u2HWz .icon-shape,#mermaid-svg-Qwb1aGHge96u2HWz .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-Qwb1aGHge96u2HWz .icon-shape p,#mermaid-svg-Qwb1aGHge96u2HWz .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-Qwb1aGHge96u2HWz .icon-shape .label rect,#mermaid-svg-Qwb1aGHge96u2HWz .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-Qwb1aGHge96u2HWz .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-Qwb1aGHge96u2HWz .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-Qwb1aGHge96u2HWz :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 是
否
理解题目要求
模拟雷达测速仪判断超速
分析输入格式
1个非负整数车速 0~500
分析输出格式
Speed: V - S
S=Speeding或OK
确定判断阈值
60 mph 大于则超速
确定二分支逻辑
speed>60→Speeding 否则→OK
编写代码框架
读入→判断→格式化输出
验证两组样例
40→OK 75→Speeding
边界值60是否正确?
完成
检查比较符号>与>=区别