挑战洛谷入门(P1000)

虽然不会告诉你们答案,但我可以点明一下思路和算法。

哈喽,加入优快云第一天,开始吧!!!

我们来看一下题目

超级玛丽是一个非常经典的游戏。请你用字符画的形式输出超级玛丽中的一个场景。

               ******** 
              ************
               ####....#.
             #..###.....##....
             ###.......######              ###            ###
                ...........               #...#          #...#
               ##*#######                 #.#.#          #.#.#
            ####*******######             #.#.#          #.#.#
           ...#***.****.*###....          #...#          #...#
           ....**********##.....           ###            ###
           ....****    *****....
             ####        ####
           ######        ######
##############################################################
#...#......#.##...#......#.##...#......#.##------------------#
###########################################------------------#
#..#....#....##..#....#....##..#....#....#####################
##########################################    #----------#
#.....#......##.....#......##.....#......#    #----------#
##########################################    #----------#
#.#..#....#..##.#..#....#..##.#..#....#..#    #----------#
##########################################    ############

 题目很简单,但如何打印呢??

我们先了解一下输出的几种方法:

No.1——cout语句

我想在c++里说出“鸡你太美”应该怎么办??

很简单,用cout语句!!

格式是这样的:cout<<"你想说的话";

即:cout<<"鸡你太美";

如果需要换行,则在特定位置加上<<endl即可。

例如,打印出静夜思应怎么写??

#include<bits/stdc++.h>
using namespace std;
int main(){
    cout<<"床前明月光,";
    cout<<"疑是地上霜。";
    cout<<"举头望明月,"<<endl<<"低头思故乡。";
    return 0;
}

No.2 printf语句

如果我没记错的话,这是c语言的用法,而c++仍然沿用了下来。

它的用法也很简单,也有一点但唯一一点好处是灵活。

普通输出已知文字格式:printf("你要说的话");

若需输出一个int变量,则需换一种格式,例(输出int变量a):

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a=0;
    printf("%d",&a);
    return 0;
}

或者把printf("%d",&a);中的%d换为%i,其实都是一个意思,一个用法,一个作用。

若需输出一个char变量,把printf("%d",&a);中的%d换为%c;

若需输出一个string变量,把printf("%d",&a);中的%d换为%s;

若需输出一个float变量,把printf("%d",&a);中的%d换为%f;

若需输出一个double变量,把printf("%d",&a);中的%d换为%lf;

若需输出一个long变量,把printf("%d",&a);中的%d换为%ld;

若需输出一个longlong变量,把printf("%d",&a);中的%d换为%lld;

若需输出一个一个十进制数的绝对值,把printf("%d",&a);中的%d换为%u;

若需输出一个去掉小数末尾多余的0的结果,把printf("%d",&a);中的%d换为%g即可。

以上所述是取变量进行输出,下面我会再讲一下细节。

1.在双引号内加入\n表示换行,例输出“我喜欢(换行)唱、跳、rap、打篮球(换行)music!”;

#include<bits/stdc++.h>
using namespace std;
int main(){
    printf("我喜欢\n唱、跳、rap、打篮球\nmusic!");
    return 0;
}

2.在双引号内加入\t表示制表,作用与直接输出Tab无异,以下只简述功能,不再过多赘述;

3.\b向后退一格;

4.\r回到本行开头,即回车;

5.\v垂直向下做表。

本文知识就讲这么多,你学废了吗??

有胆的就来试试手吧!!

P1000 超级玛丽游戏 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

答案在下面(不会再翻!!)

#include <iostream>

using namespace std;

int main()
{
    cout <<
        "                ********\n"
        "               ************\n"
        "               ####....#.\n"
        "             #..###.....##....\n"
        "             ###.......######              ###            ###\n"
        "                ...........               #...#          #...#\n"
        "               ##*#######                 #.#.#          #.#.#\n"
        "            ####*******######             #.#.#          #.#.#\n"
        "           ...#***.****.*###....          #...#          #...#\n"
        "           ....**********##.....           ###            ###\n"
        "           ....****    *****....\n"
        "             ####        ####\n"
        "           ######        ######\n"
        "##############################################################\n"
        "#...#......#.##...#......#.##...#......#.##------------------#\n"
        "###########################################------------------#\n"
        "#..#....#....##..#....#....##..#....#....#####################\n"
        "##########################################    #----------#\n"
        "#.....#......##.....#......##.....#......#    #----------#\n"
        "##########################################    #----------#\n"
        "#.#..#....#..##.#..#....#..##.#..#....#..#    #----------#\n"
        "##########################################    ############\n"
        ;
    return 0;
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值