哈喽大家好,我是iecne,本期为大家带来的是CPP/C++保姆级入门教程的第五期—— 顺序结构,包教包会,快来看看吧!
此教程适合新手小白,因为语言会十分的通俗易懂,不会有很多的专业词汇出现,可以更好的掌握并且吸收,后续加上持之以恒的练习题目将会基本巩固
系列文章目录
C++保姆级入门教程(1) 变量 输出 输入
C++保姆级入门教程(2) 算术运算和赋值
C++保姆级入门教程(3) if语句
C++保姆级入门教程(4) 循环
C++保姆级入门教程(5) 顺序结构
目录
一.顺序结构是什么
千里之行,始于足下。程序设计虽然花样繁多,但还是要从最简单的地方开始学习,由浅入深,直至掌握。毕竟任何复杂的工程代码都是由一行行简单的代码组成的。
我们编写计算机程序,将一个任务分解成一条一条的语句,计算机会按照顺序一条一条的执行这些语句,这就是顺序结构程序设计。
二.顺序结构的用法
循序结构具体怎么做,新手小白们若没有看过
C++保姆级入门教程(1) 变量 输出 输入
C++保姆级入门教程(2) 算术运算和赋值
可以点击链接学习学习
三.顺序结构题目练习
以下就是一些对于掌握顺序结构的题目
1.超级玛丽游戏
题目描述
超级玛丽是一个非常经典的游戏。请你用字符画的形式输出超级玛丽中的一个场景。
********
************
####....#.
#..###.....##....
###.......###### ### ###
........... #...# #...#
##*####### #.#.# #.#.#
####*******###### #.#.# #.#.#
...#***.****.*###.... #...# #...#
....**********##..... ### ###
....**** *****....
#### ####
###### ######
##############################################################
#...#......#.##...#......#.##...#......#.##------------------#
###########################################------------------#
#..#....#....##..#....#....##..#....#....#####################
########################################## #----------#
#.....#......##.....#......##.....#......# #----------#
########################################## #----------#
#.#..#....#..##.#..#....#..##.#..#....#..# #----------#
########################################## ############
输入格式
无
输出格式
如描述
输入输出样例
无
参考答案:
#include<stdio.h>
int main() {
printf(
" ********\n"
" ************\n"
" ####....#.\n"
" #..###.....##....\n"
" ###.......###### ### ###\n"
" ........... #...# #...#\n"
" ##*####### #.#.# #.#.#\n"
" ####*******###### #.#.# #.#.#\n"
" ...#***.****.*###.... #...# #...#\n"
" ....**********##..... ### ###\n"
" ....**** *****....\n"
" #### ####\n"
" ###### ######\n"
"##############################################################\n"
"#...#......#.##...#......#.##...#......#.##------------------#\n"
"###########################################------------------#\n"
"#..#....#....##..#....#....##..#....#....#####################\n"
"########################################## #----------#\n"
"#.....#......##.....#......##.....#......# #----------#\n"
"########################################## #----------#\n"
"#.#..#....#..##.#..#....#..##.#..#....#..# #----------#\n"
"########################################## ############\n"
);
return 0;
}
2.再分肥宅水
题目描述
现在有 tt 毫升肥宅快乐水,要均分给 nn 名同学。每名同学需要 22 个杯子。现在想知道每名同学可以获得多少毫升饮料(严格精确到小数点后 33 位),以及一共需要多少个杯子。
输入格式
输入一个实数 tt 和一个正整数 nn,使用空格隔开。
输出格式
输出两行。
第一行输出一个三位小数,表示可以获得多少毫升饮料。第二行输出一个正整数,表示一共需要多少个杯子。
输入输出样例
输入
500.0
3
输出‘
166.667
6
题目解析:
第一问:tt除以nn,保留三位小数即可
第二问:不难发现,杯子总数是2*n2∗n
参考答案:
#include<bits/stdc++.h>
using namespace std;
double a,b,c,i,k,j,n,m,l,s;
int main()
{
cin>>a>>b;
printf("%.3lf",a/b);
cout<<endl<<b*2;
return 0;
}
以及还有第一讲没有说的 —— printf保留指定位数小数的方法:
printf("%.指定的位数lf\n",要输出的数);
3.上学迟到
题目描述
学校和 yyy 的家之间的距离为 ss 米,而 yyy 以 vv 米每分钟的速度匀速走向学校。
在上学的路上,yyy 还要额外花费 1010 分钟的时间进行垃圾分类。
学校要求必须在上午 \textrm{8:00}8:00 到达,请计算在不迟到的前提下,yyy 最晚能什么时候出门。
由于路途遥远,yyy 可能不得不提前一天出发,但是提前的时间不会超过一天。
输入格式
一行两个正整数 s,vs,v,分别代表路程和速度。
输出格式
输出一个 2424 小时制下的时间,代表 yyy 最晚的出发时间。
输出格式为 \texttt{HH:MM}HH:MM,分别代表该时间的时和分。必须输出两位,不足前面补 00。
输入输出样例
输入
100 99
输出
07:48
参考答案:
#include<bits/stdc++.h>
using namespace std;
double s,v,m;
int n,a,t,b;
int main()
{
cin>>s>>v;
n=8*60+24*60;
t=ceil(s/v)+10;
n=n-t;
if(n>=24*60) n-=24*60;
b=n%60;
a=n/60;
if(a<10)
{
if(b<10) cout<<"0"<<a<<":0"<<b;
else cout<<"0"<<a<<":"<<b;
}
else
{
if(b<10) cout<<a<<":0"<<b;
else cout<<a<<":"<<b;
}
return 0;
}
题目解析:
题目上给出路程与速度,即可算出时间。
由于s与v中的时间单位为分,所以我们直接将88小时换算成分钟(直接8*608∗60好了)。
由于时间可能大于11天,我们在求出来的分钟数中加上24*6024∗60。
当我们把该时间减去行走时间和垃圾分类后,判断剩下的时间是否大于一天,如果大于一天就减去一天的时间,但你必须向上取整,不然行走时间就会少。
将剩下的时间除以6060得到出发时。将剩下的时间对6060取余得出发分
本题目的难度有点大,用到了分支(if)以及ceil( )
在本题目之中,ceil()很重要,向上取整,否则c++逻辑会向下取整导致行走时间少
(参考C171501)
四.总结
本节课主要是讲解三道循序结构的题目,配合着保姆级教程1、2,包教包会,帅的人已然点赞收藏关注,而丑的人还在犹豫,被犹豫了,快三连吧!