题面
题目背景
本题是洛谷的试机题目,可以帮助了解洛谷的使用。
另外强烈推荐新用户必读贴
题目描述
超级玛丽是一个非常经典的游戏。请你用字符画的形式输出超级玛丽中的一个场景。
********
************
####....#.
#..###.....##....
###.......###### ### ###
........... #...# #...#
##*####### #.#.# #.#.#
####*******###### #.#.# #.#.#
...#***.****.*###.... #...# #...#
....**********##..... ### ###
....**** *****....
#### ####
###### ######
##############################################################
#...#......#.##...#......#.##...#......#.##------------------#
###########################################------------------#
#..#....#....##..#....#....##..#....#....#####################
########################################## #----------#
#.....#......##.....#......##.....#......# #----------#
########################################## #----------#
#.#..#....#..##.#..#....#..##.#..#....#..# #----------#
########################################## ############
输入格式
无
输出格式
如描述
输入输出样例
无
说明/提示
广告
洛谷出品的算法教材,帮助您更简单的学习基础算法。【官方网店绝赞热卖中!】>>>
帮深入浅出打了一波广告
题解
这道题代码的要点便是cout语句与endl的用法(也可以使用 printf() 函数)
cout<<"ABC"<<endl;
printf("ABC\n");
这两段代码的作用都为输出 ABC 以及一个换行符
cout<<"jntm"<<2.5<<'j'<<endl;
cout<<"jntm"<<2.5<<'j'<<'\n';
printf("jntm2.5j\n");
这三段代码作用相同(请自行揣摩意思)实际是作者懒得讲。
所以这题的代码如下所示
解1:
#include <bits/stdc++.h>//万能头文件
using namespace std;//使用命名空间
int main()//主函数
{
cout<<" ********"<<endl;
cout<<" ************"<<endl;
cout<<" ####....#."<<endl;
cout<<" #..###.....##...."<<endl;
cout<<" ###.......###### ### ###"<<endl;
cout<<" ........... #...# #...#"<<endl;
cout<<" ##*####### #.#.# #.#.#"<<endl;
cout<<" ####*******###### #.#.# #.#.#"<<endl;
cout<<" ...#***.****.*###.... #...# #...#"<<endl;
cout<<" ....**********##..... ### ###"<<endl;
cout<<" ....**** *****...."<<endl;
cout<<" #### ####"<<endl;
cout<<" ###### ######"<<endl;
cout<<"##############################################################"<<endl;
cout<<"#...#......#.##...#......#.##...#......#.##------------------#"<<endl;
cout<<"###########################################------------------#"<<endl;
cout<<"#..#....#....##..#....#....##..#....#....#####################"<<endl;
cout<<"########################################## #----------#"<<endl;
cout<<"#.....#......##.....#......##.....#......# #----------#"<<endl;
cout<<"########################################## #----------#"<<endl;
cout<<"#.#..#....#..##.#..#....#..##.#..#....#..# #----------#"<<endl;
cout<<"########################################## ############"<<endl;
return 0;//结束主函数
}//严禁抄袭刷AC
换行符endl也可以替换成 \n (注意n前面是反斜杠)
于是就有了 解2:
#include <bits/stdc++.h>
using namespace std;
int main()
{
cout<<" ********\n";
cout<<" ************\n";
cout<<" ####....#.\n";
cout<<" #..###.....##....\n";
cout<<" ###.......###### ### ###\n";
cout<<" ........... #...# #...#\n";
cout<<" ##*####### #.#.# #.#.#\n";
cout<<" ####*******###### #.#.# #.#.#\n";
cout<<" ...#***.****.*###.... #...# #...#\n";
cout<<" ....**********##..... ### ###\n";
cout<<" ....**** *****....\n";
cout<<" #### ####\n";
cout<<" ###### ######\n";
cout<<"##############################################################\n";
cout<<"#...#......#.##...#......#.##...#......#.##------------------#\n";
cout<<"###########################################------------------#\n";
cout<<"#..#....#....##..#....#....##..#....#....#####################\n";
cout<<"########################################## #----------#\n";
cout<<"#.....#......##.....#......##.....#......# #----------#\n";
cout<<"########################################## #----------#\n";
cout<<"#.#..#....#..##.#..#....#..##.#..#....#..# #----------#\n";
cout<<"########################################## ############\n";
return 0;
}
同时如前面所说printf也可以获得AC
但printf只能用\n换行
于是解3就出来了
解3:
#include <bits/stdc++.h>
using namespace std;
int main()
{
printf(" ********\n");
printf(" ************\n");
printf(" ####....#.\n");
printf(" #..###.....##....\n");
printf(" ###.......###### ### ###\n");
printf(" ........... #...# #...#\n");
printf(" ##*####### #.#.# #.#.#\n");
printf(" ####*******###### #.#.# #.#.#\n");
printf(" ...#***.****.*###.... #...# #...#\n");
printf(" ....**********##..... ### ###\n");
printf(" ....**** *****....\n");
printf(" #### ####\n");
printf(" ###### ######\n");
printf("##############################################################\n");
printf("#...#......#.##...#......#.##...#......#.##------------------#\n");
printf("###########################################------------------#\n");
printf("#..#....#....##..#....#....##..#....#....#####################\n");
printf("########################################## #----------#\n");
printf("#.....#......##.....#......##.....#......# #----------#\n");
printf("########################################## #----------#\n");
printf("#.#..#....#..##.#..#....#..##.#..#....#..# #----------#\n");
printf("########################################## ############\n");
return 0;
}
这就是这道题的3种解法
最后如果大家觉得这期文章做的还不错的话,求赞 求收藏 求打赏 求转发,最重要的是点一个大大的关注,各位的支持就是我写文章的最大动力,OK各位我们下期再见。
好像在哪个理工男那边听过?