luogu题目精讲(C++):【入门1】顺序结构(1~5题)
B2002 Hello,World!
# Hello,World!
## 题目描述
编写一个能够输出 `Hello,World!` 的程序。
提示:
- 使用英文标点符号;
- `Hello,World!` 逗号后面**没有**空格。
- `H` 和 `W` 为**大写**字母。
## 输入格式
## 输出格式
## 样例 #1
### 样例输入 #1
```
无
```
### 样例输出 #1
```
Hello,World!
```
以下是一个用C++编写的能够输出"Hello, World!"的程序:
#include <iostream>
int main() {
? ? std::cout << "Hello,World!" << std::endl;
? ? return 0;
}
在这个程序中,我们使用了`iostream`库中的`cout`对象来输出文本。`<<`是输出运算符,它将字符串"Hello,World!"输出到标准输出流(终端)。`std::endl`用于在输出结束后换行。
编译和运行这个程序,将会在终端输出"Hello,World!"。
B2025 输出字符菱形
题目描述
用?*
?构造一个对角线长?55?个字符,倾斜放置的菱形。
输入格式
没有输入要求。
输出格式
如样例所示。用?*
?构成的菱形。
输入输出样例
输入 #1
输出 #1
* *** ***** *** *
这段代码使用了简单的打印语句,直接输出了菱形的每一行。
#include<iostream>
using namespace std;
int main()
{
? ? cout << " ?* " << endl;
? ? cout << " *** " << endl;
? ? cout << "*****" << endl;
? ? cout << " *** " << endl;
? ? cout << " ?* ?" << endl;
? ? return 0;
}
运行这段代码将会输出如下所示的菱形:
?
? *
?***
*****
?***
? *
这段代码没有使用循环和条件语句,直接打印了菱形的每一行。
P1000 超级玛丽游戏?
题目背景
本题是洛谷的试机题目,可以帮助了解洛谷的使用。
另外强烈推荐新用户必读贴
题目描述
超级玛丽是一个非常经典的游戏。请你用字符画的形式输出超级玛丽中的一个场景。
********
************
####....#.
#..###.....##....
###.......###### ### ###
........... #...# #...#
##*####### #.#.# #.#.#
####*******###### #.#.# #.#.#
...#***.****.*###.... #...# #...#
....**********##..... ### ###
....**** *****....
#### ####
###### ######
##############################################################
#...#......#.##...#......#.##...#......#.##------------------#
###########################################------------------#
#..#....#....##..#....#....##..#....#....#####################
########################################## #----------#
#.....#......##.....#......##.....#......# #----------#
########################################## #----------#
#.#..#....#..##.#..#....#..##.#..#....#..# #----------#
########################################## ############
输入格式
无
输出格式
如描述
输入输出样例
无
这道题目要求我们使用字符画的形式输出超级玛丽游戏中的一个场景。根据题目描述,我们可以得到以下信息:
输出的场景是一个矩形区域,由字符组成。
场景中包含了一些特殊字符,如星号(*)、井号(#)、句点(.)和横线(-)。
场景的具体形状和字符排列如何,需要根据题目提供的描述进行绘制。
?
#include <iostream>
int main() {
? ? std::cout << " ? ? ? ? ? ? ? ?********" << std::endl;
? ? std::cout << " ? ? ? ? ? ? ? ************" << std::endl;
? ? std::cout << " ? ? ? ? ? ? ? ####....#." << std::endl;
? ? std::cout << " ? ? ? ? ? ? #..###.....##...." << std::endl;
? ? std::cout << " ? ? ? ? ? ? ###.......###### ? ? ? ? ? ? ?### ? ? ? ? ? ?###" << std::endl;
? ? std::cout << " ? ? ? ? ? ? ? ?........... ? ? ? ? ? ? ? #...# ? ? ? ? ?#...#" << std::endl;
? ? std::cout << " ? ? ? ? ? ? ? ##*####### ? ? ? ? ? ? ? ? #.#.# ? ? ? ? ?#.#.#" << std::endl;
? ? std::cout << " ? ? ? ? ? ?####*******###### ? ? ? ? ? ? #.#.# ? ? ? ? ?#.#.#" << std::endl;
? ? std::cout << " ? ? ? ? ? ...#***.****.*###.... ? ? ? ? ?#...# ? ? ? ? ?#...#" << std::endl;
? ? std::cout << " ? ? ? ? ? ....**********##..... ? ? ? ? ? ### ? ? ? ? ? ?###" << std::endl;
? ? std::cout << " ? ? ? ? ? ....**** ? ?*****...." << std::endl;
? ? std::cout << " ? ? ? ? ? ? #### ? ? ? ?####" << std::endl;
? ? std::cout << " ? ? ? ? ? ###### ? ? ? ?######" << std::endl;
? ? std::cout << "##############################################################" << std::endl;
? ? std::cout << "#...#......#.##...#......#.##...#......#.##------------------#" << std::endl;
? ? std::cout << "###########################################------------------#" << std::endl;
? ? std::cout << "#..#....#....##..#....#....##..#....#....#####################" << std::endl;
? ? std::cout << "########################################## ? ?#----------#" << std::endl;
? ? std::cout << "#.....#......##.....#......##.....#......# ? ?#----------#" << std::endl;
? ? std::cout << "########################################## ? ?#----------#" << std::endl;
? ? std::cout << "#.#..#....#..##.#..#....#..##.#..#....#..# ? ?#----------#" << std::endl;
? ? std::cout << "########################################## ? ?############" << std::endl;
? ? return 0;
}
这段代码使用了多个`std::cout`语句,每个语句输出场景中的一行字符。通过调整每行字符的排列和数量,可以实现不同的场景效果。
P1001 A+B Problem
# A+B Problem
## 题目背景
强烈推荐[新用户必读帖](/discuss/show/241461)。
**不熟悉算法竞赛的选手请看这里:**
算法竞赛中要求的输出格式中,**不能有多余的内容**,**这也包括了“请输入整数 $\bm a$ 和 $\bm b$” 这一类的提示用户输入信息的内容**。若包含了这些内容,将会被认为是 `Wrong Answer`,即洛谷上的 `WA`。在对比代码输出和标准输出时,系统将忽略每一行结尾的空格,以及最后一行之后多余的换行符。
若因此类问题出现本机(看起来)`AC`,提交 `WA` 的现象,请勿认为是洛谷评测机出了问题,而是你的代码中可能存在多余的输出信息。用户可以参考在题目末尾提供的代码。
另外**请善用应用中的在线 IDE 功能**,以避免不同平台的评测中所产生的一些问题。
还有一点很重要的是,请不要在对应的题目讨论区中发布自己的题解,请发布到题解区域中,否则将处以删除或禁言的处罚。若发现无法提交题解则表明本题题解数量过多,仍不应发布讨论。
## 题目描述
输入两个整数 $a, b$,输出它们的和($|a|,|b| \le {10}^9$)。
注意
1. Pascal 使用 `integer` 会爆掉哦!
2. 有负数哦!
3. C/C++ 的 main 函数必须是 `int` 类型,而且 C 最后要 `return 0`。这不仅对洛谷其他题目有效,而且也是 NOIP/CSP/NOI 比赛的要求!
好吧,同志们,我们就从这一题开始,向着大牛的路进发。
> 任何一个伟大的思想,都有一个微不足道的开始。
## 输入格式
两个以空格分开的整数。
## 输出格式
一个整数。
## 样例 #1
### 样例输入 #1
```
20 30
```
### 样例输出 #1
```
50
```
这是一道经典的输入输出练习题,要求输入两个整数a和b,然后输出它们的和。
根据题目描述,我们可以知道输入的两个整数a和b的范围为|a|,|b| \le {10}^9,即绝对值不超过10^9。
#include <iostream>
int main() {
? ? int a, b;
? ? std::cin >> a >> b;
? ? int sum = a + b;
? ? std::cout << sum << std::endl;
? ? return 0;
}
这段代码首先定义了两个整数变量a和b,然后使用`std::cin`从标准输入读取两个整数的值。接下来,将a和b相加得到和sum,最后使用`std::cout`将sum输出到标准输出。
请注意,题目要求输出的整数不能包含多余的内容,包括提示用户输入信息的内容。因此,我们只需要输出和sum,不需要输出其他额外的内容。
B2005 字符三角形
# 字符三角形
## 题目描述
给定一个字符,用它构造一个底边长 $5$ 个字符,高 $3$ 个字符的等腰字符三角形。
## 输入格式
输入只有一行,包含一个字符。
## 输出格式
该字符构成的等腰三角形,底边长 $5$ 个字符,高 $3$ 个字符。
## 样例 #1
### 样例输入 #1
```
*
```
### 样例输出 #1
```
? *
?***
*****
```
## 提示
对于 100 %?的数据,输入的字符是 ASCII 中的可见字符。
这道题目要求我们使用给定的字符构造一个底边长为5个字符、高为3个字符的等腰字符三角形。
根据题目描述,我们需要从输入中读取一个字符,并使用该字符构造等腰三角形。下面是一种可能的C++代码实现:
#include <iostream>
int main() {
? ? char ch;
? ? std::cin >> ch;
? ? std::cout << " ?" << ch << std::endl;
? ? std::cout << " " << ch << ch << ch << std::endl;
? ? std::cout << ch << ch << ch << ch << ch << std::endl;
? ? return 0;
}
这段代码首先定义了一个字符变量ch,然后使用`std::cin`从标准输入读取一个字符的值。接下来,使用`std::cout`输出构造好的等腰三角形。每一行输出前面都有一定数量的空格来保证三角形的形状正确。
请注意,题目要求输出的等腰三角形的底边长为5个字符,高为3个字符。因此,我们在输出每一行时需要根据具体的行数来确定输出的字符数量。
示例输出中使用了空格来控制字符的位置,以保证输出的三角形形状正确。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!