今天让我们正式向洛发起属于我们自己的挑战:
(记得把自己的账号登陆上洛谷)
先看:
P1000
这是一道洛谷上的试机题目,也是入门选手必须先刷的一道题。
在此之前,我们需要学习一个知识点:
头文件
一个内置导入语句:#include<你的头文件>
这是固定打法,打错了,就爆零了(想起我当年第一次在洛谷上提交的时候因为include打成incldue导致complie error(编译错误))
你的头文件可以替换成各种各样的头文件,而这里我们要讲的是:
iostream头文件
这个头文件是输入输出流所存在的头文件,它主要由istream和ostream组成,istream是输入流,原理是这样的:
首先,你在运行界面(我们将在后面讲到,先听一下)里面输入一个东西,然后istream(这里主要是cin函数)会把你所输入的文件放入缓存区,然后在从缓存区里取出来放到代码里(正是因为这个原因,他的时间复杂度才会有一点点多)。
ostream(cout)只是istream反一下,从代码放到缓存区,再放到运行界面。
在P1000里我们只用cout,P1001才会用到cin。
然后?
审题!
(仿佛让阅读一篇文章?)
(用大量的时间好好读吧,这里就不带大家读了……)
只是让输出一个图片,然后,有人就这么干……
#include<iostream>
cout ********
************
####....#.
#..###.....##....
###.......###### ### ###
........... #...# #...#
##*####### #.#.# #.#.#
####*******###### #.#.# #.#.#
...#***.****.*###.... #...# #...#
....**********##..... ### ###
....**** *****....
#### ####
###### ######
##############################################################
#...#......#.##...#......#.##...#......#.##------------------#
###########################################------------------#
#..#....#....##..#....#....##..#....#....#####################
########################################## #----------#
#.....#......##.....#......##.....#......# #----------#
########################################## #----------#
#.#..#....#..##.#..#....#..##.#..#....#..# #----------#
########################################## ############
然后,一篇红。
拜托,这地方有一大堆错误啊……
强烈建议看看我的第一篇博客简单看看格式。
这边从讲一遍:
首先,第一行没问题,但第二行就出了一大堆错了。
在c++中,我们有极其多的语句前都要用std::,如果不用就会出错,想偷懒的话,在第二行加上这个语句
using namespace std;
对了,带上一句,除了部分(比如函数等)不需要在结尾加;以外,其余都得加;。
第二点,我们的代码都是要在函数中运行,而函数又是由主函数里面运行。
主函数这么打:
int main()
{
//这里加入你的代码
return 0;
}
他是固定形式,必须这么打!
然后,你把他们拼接起来,应该是这样:
#include<iostream>
using namespace std;
int main()
{
return 0;
}
这就是基本框架了。
然后,我们开始输出图片……等一下!
#include<iostream>
using namespace std;
int main()
{
return 0;
cout ********
************
####....#.
#..###.....##....
###.......###### ### ###
........... #...# #...#
##*####### #.#.# #.#.#
####*******###### #.#.# #.#.#
...#***.****.*###.... #...# #...#
....**********##..... ### ###
....**** *****....
#### ####
###### ######
##############################################################
#...#......#.##...#......#.##...#......#.##------------------#
###########################################------------------#
#..#....#....##..#....#....##..#....#....#####################
########################################## #----------#
#.....#......##.....#......##.....#......# #----------#
########################################## #----------#
#.#..#....#..##.#..#....#..##.#..#....#..# #----------#
########################################## ############
}
不要着急啊,你又出错了。
首先,在主函数中这一行以后是不能加语句的:
return 0;
也就是,你的cout要在他前面,并且,cout应该这么使用:
cout<<你的内容;
再看,这个题目他全是字符串(详情请见第一章数据类型),那么就应该加引号,所以,标准答案应该是这样:
#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;
}
这样就可以了。
注释:
1.endl是在cout语句中的换行指令,你输出一个这个就可以换行。
2.cout后面是要加两个'<'的,这样才能表示输出一个东西。
剩下的就是复制粘贴了……
P1001
P1001也是,因为有上一题的基础奠定,我们就直接简单讲解几个就过了。
然后你自己看看人家讲解的内容就行了。
cin与cout最大的不同就是cin的箭头指向右('>')
其他一致。
不对
输入输入,输入的东西用啥存呀?
依据我的上一篇博客,我们可以使用int类型的变量存储数字。
先上代码,再讲解……
#include<iostream>
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
cout<<a+b;
return 0;
}
注释:
1.定义方法,主要格式如下:
你的类型+空格*1+变量名1+逗号+变量名2+逗号+……+变量名n+分号
(tip:变量名有规定,以后再讲。
2.整型、浮点等同类型可以当作数字看待,也就是基本三则运算(除法有一些独特之点,以后说)+,-,*(星号在c++中看成乘号)
两道题就这么结束了……
今天主要讲解了一些具体的题目如何去做,作业如下:
自行完成一个代码,可以做到输入两个数,输出他们的差。
下一章我们将继续在c++的海洋里继续探索