前言
又来,好烦!在作业不多不少的情况下,我仰望天...呸,我想啥呢? \ 我还记得在两年前的夏天,我用纸和笔画出了长达2 * 2 * 108页的 《小白末日求生》 和 《小白日记》,而今天,我又来搞事了!
《小白历险记》 ! \
起初就是 小白冲着脑残的精神来到了一个c++世界,开始踏上NOI之旅。
好了,让我们开启旅程吧!\Huge 好了,让我们开启旅程吧!好了,让我们开启旅程吧!
QAQ
aaaaaaaaaaaaaaaaaaaaaaaaaa!
|
|
|高能!!!!
|
|
第一章:开启旅程!
达成成就:打开石门!{ \textcolor{green} {\textbf {达成成就:打开石门!}}}达成成就:打开石门!
你已解锁入门地图
入门地图:
入门峡谷->计算山洞->宝石矿洞-> 终极环岛->史诗绝望大楼\colorbox{aqua}{{ \textcolor{green} {\textbf {入门峡谷->计算山洞->宝石矿洞-> 终极环岛->史诗绝望大楼}}}} 入门峡谷->计算山洞->宝石矿洞-> 终极环岛->史诗绝望大楼
此时小白就当场就掉到峡谷中。前面看似万里无云,实则乌云密布。
走着走着,出现了一个奇怪的石桩(打开小白之旅的大门):
“请输入密码!”。
"????"
来帮小白完成题目吧!
【解题环节】
输入密码
相信你已经完成题目了,石门打开了!
答案:
#include <iostream>
using namespace std;
int main(){
cout<<"Hello,World!";
return 0;
}
解锁新词汇!{cout}!
cout是c++的标准输出流。
格式为:
#include <iostream>//记得加头文件!
cout<</*你想输出的东西*/<</*你想输出的东西*/;
/*以此类推,别忘了加分号!*/
达成成就:获得金币!{ \textcolor{green} {\textbf {达成成就:获得金币!}}}达成成就:获得金币!
小白左看看,右看看,找到了两堆金币,
石板上出现了一行字:“一堆有*枚,二堆有*枚,请算出一共有多少枚金币!”,
看来还是一道简单的题!帮小白算一算吧!
【解题环节】
计算一
计算二
相信你已经完成题目了,获得了许多金币! 答案:
#include <iostream>
using namespace std;
int main(){
int a,b;
cin>>a>>b;
cout<<a+b<<endl;
return 0;
}
解锁{+ - * / = ==}!
= :赋值 要想表达a+b=c或c=a+ba+b=c或c=a+ba+b=c或c=a+b,只能是
c=a+b
或
c=b+a
!!!
==:判断 +、-、*、/是数学普通符号,格式为:
a=b+ca=b + ca=b+c :
a=b+c;
a+b+ca+b+ca+b+c :
a+b+c
其余与加法一样。 oh,还有:
int a=8,b=3;
cout<<a/b;
结果为8÷\div÷3的向下取整,因为a和b为整数。
解锁 int double!
int是一种整型的数据类型。
double是一种双精度浮点型的数据类型。
详细请看:
类型
长度拓展
拓展
达成成就:打败树怪!{ \textcolor{green} {\textbf {达成成就:打败树怪!}}}达成成就:打败树怪!
小白获得了许多金币,非常高兴。
“A——!”
突然,从树木(峡谷中有棵树...)中窜出来三只吃人的树怪。石板中又出现了字:“树怪1每天吃*个人,树怪2每天吃*个人,树怪3每天吃*个人求谁吃的人最多。”
小白快被树怪杀死了,快来帮帮他吧!
【解题环节】
帮他
相信你已经完成题目了,成功杀死了树怪! 答案:
#include <iostream>
using namespace std;
int main(){
int a,b,c,max;
cin>>a>>b>>c;
max=a;
if(b>max){
max=b;
}
if(c>max){
max=c;
}
cout<<max<<endl;
return 0;
}
新词! endl和> < >= <= != if() else{} else if()
endl就是cout中的换行。
cout<<endl;
cout<<"\n";
//二者都是换行。
if(a>=b)//大于或等于
if(a<=b)//小于或等于
if(a>b)//大于
if(a<b)//小于
if(a!=b)//不等于
//if(如果和否则)的格式
if(){
/*
满足条件后执行的程序。
*/
}else if(/*不满足第一个条件后的第二个条件*/){
/*
不满足第二个条件后执行的程序。
*/
}else{
/*
都不满足后执行的程序。
*/
}
第二章:计算山洞!
达成成就:逃出陷阱!{ \textcolor{green} {\textbf {达成成就:逃出陷阱!}}}达成成就:逃出陷阱!
"ha!"小白哼到。
"发财了!额,我想啥呢?" 就这样,小白又又又又又又突然掉进了坑里。 石碑又出现了,:
“请你计算(a+b)×c(a+b)\times c(a+b)×c和(a+b)/c (a+b) / c(a+b)/c”
终于来到计算题了! 快来帮他逃出陷阱吧!
【解题环节】
(a+b)*c
(a+b)/c
相信你已经完成题目了,成功逃出了陷阱!
答案:
#include <iostream>
using namespace std;
int main(){
int a,b,c,d;
cin>>a>>b>>c;
d=(a+b)*c;
cout<<d<<endl;
return 0;
}
;
#include <iostream>
using namespace std;
int main(){
int a,b,c,d;
cin>>a>>b>>c;
d=(a+b)/c;
cout<<d<<endl;
}
新词! cin
cin是c++的标准输入流,格式为:
#include <iostream>//记得加头文件!
cin<</*你想输入的东西*/<</*你想输入的东西*/;
/*以此类推,别忘了加分号!*/
新符号! ()
像数学一样,"()"是c++会优先算括号中的内容。 例:
d=1*2*(3+4);//加括号
e=1*2*3+4;//不加括号
cout<<d<<endl;
cout<<e;
会输出:
14
13
达成成就:杀掉僵尸!{ \textcolor{green} {\textbf {达成成就:杀掉僵尸!}}}达成成就:杀掉僵尸!
"又躲过一劫!"
小白又看到了一个按钮。
"按一下试试吧!"
eee...
突然,出现了一群僵尸。
"a!"\
题目出现了:
“小丽想画一个三角形,请帮他画出来!”
真是个不听话的小白!
来到编程题了! 快来帮他杀掉僵尸吧!
【解题环节】
三角形
相信你已经完成题目了,成功杀掉了僵尸!
答案:
#include <iostream>
using namespace std;
int main(){
char a;
cin>>a;
cout<<" "<<a<<endl;
cout<<" "<<a<<a<<a<<endl;
cout<<a<<a<<a<<a<<a<<endl;
return 0;
}
达成成就: 摆脱陷阱!{ \textcolor{green} {\textbf {达成成就: 摆脱陷阱!}}}达成成就: 摆脱陷阱!
"咋又是姜姜?"
此时,小白已经绝望了。
小白...
"不出意外的话又要出意外了。"
小白看向了左边。| 只见从天空中掉下来了一个网,朝小
白砸去。
"A!"
不出意外,小白又又又被陷阱抓住了。
题目出现了:
“小丽想判断它是不是一个三角形,请帮他判断一下!”
哎,这小白不会是从地狱派来的吧!
来到编程题了! 快来帮他逃离陷阱吧!
【解题环节】
三角形判断
相信你已经完成题目了,成功杀掉了僵尸!
答案:
#include <iostream>
using namespace std;
int main(){
int a,b,c;
cin>>a>>b>>c;
if(a+b>c && a+c>b && b+c>a){
cout<<1<<endl;
}else{
cout<<0<<endl;
}
return 0;
}
新词! && || !
"&& || !"是用于判断的运算符,我们叫他判断运算符。| &&:与运算符,代表满足这个条件需要有两个或以上的条件,这时就可以用到"&&"(与)运算符。例如:
if(条件1 && 条件2){
\\...
}
if(条件1 && 条件二 && 条件n/…/){
}
||:或运算符,代表满足这两个或两个以上个条件只需要有某一个条件满足就可以通过这个大条件.这时就可以用到"||"(与)运算符。例如:
if(条件1 || 条件2){
\\...
}
if(条件1 || 条件二 || 条件n/…/){
}
!: 非运算符,如果在一个真的条件上前面打上非运算符,就会变成假的条件。
#define ask false
if(!(ask)){
cout << “1”;
}
if(ask == false){
cout << “1”;
}//效果一样
第三章:宝石矿洞
达成成就:获得绿宝石!{ \textcolor{green} {\textbf {达成成就:获得绿宝石!}}}达成成就:获得绿宝石!
小白真是太惨了!
屏幕前的人门非常开心!
haaaaaa
此时的小白...
"我发现了一堆绿宝石!"
结果,石桩上又出现了一行字
“给出ASCII码,请输出字符!”
开始吧!
zifu
相信你已经做完了,成功获得了绿宝石!
答案:
#include <iostream>
using namespace std;
int main(int argc,char **argv){
char a;
int b;
cin>>a;
b=a;
cout<<b<<endl;
return 0;
}
或
#include <iostream>
using namespace std;
int main(int argc,char **argv){
char a;
cin>>a;
cout<<(int)a<<endl;
return 0;
}
新方法! 转换!
这里运用了转换的方法。
既可以隐形转换 如图一,
也可以强制转换 如图二。
注意!string不能转整形!
怎么转呢?
以后讲。
达成成就:奇妙大门!{ \textcolor{green} {\textbf {达成成就:奇妙大门!}}}达成成就:奇妙大门!
"终于出来了!"
走着走着,发现了一个大石门!
"好大的石门!"
突然,石门上出现了一行字:
"1.请计算2n2^n2n!"
"2.请计算∣n∣|n|∣n∣"
来到编程题了,快来打开大门吧!
1 2
C++答案:
1
#include <iostream>
#include <cmath>
using namespace std;
int main(){
int a,c=1;
cin>>a;
for(int i=0;i<a;i++){
c*=2;
}
cout<<c<<endl;
return 0;
}
2
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main(){
double a,b;
cin>>a;
b=abs(a);
cout<<fixed<< setprecision(2)<<b<<endl;
return 0;
}
新!库
cmath库是c++的标准库,c语言用的是<math.h>.
里面有各种数学函数。
详情见 \
abs(x)代表x的绝对值。abs(x)={x>0x00x<0−xabs(x)代表x的绝对值。\\ abs(x) = \begin{cases} x>0 & x \\ 0 & 0 \\ x<0 & -x \end{cases} abs(x)代表x的绝对值。abs(x)=⎩ ⎨ ⎧x>00x<0x0−x
\
【roading...】
达成成就:超大溪流!{ \textcolor{green} {\textbf {达成成就:超大溪流!}}}达成成就:超大溪流!
"环岛入口!"小白说道。
结果一条溪流挡在了入口前。
"啊!真令人抓狂!"小白叫道。
旁边正好有船。
船上刻着几行字:
"给出数列,请输出最小值!"
又来到编程题了!快来帮小白找到答案吧!
shulie
相信你已经写出答案了,成功来到了环岛人口!
答案c++:
#include <iostream>
using namespace std;
int main(){
int a,B[100];
cin>>a;
for(int c=0;c<=a-1;c++){
cin>>B[c];
}
for(int d=a-1;d>=0;d--){
if(B[d-1]>B[d]){
swap(B[d-1],B[d]);
}
}
cout<<B[0];
return 0;
}
C
#include <iostream>
using namespace std;
int main(){
int a,B[100];
scanf("%d",%a);
for(int c=0;c<=a-1;c++){
scanf("%d",&B[c])
}
for(int d=a-1;d>=0;d--){
if(B[d-1]>B[d]){
int t=B[d-1];
B[d-1]=B[d];
B[d]=t;
}
}
printf("%d",B[0])
return 0;
}
新语句! for(;;) while()
for和while语句是循环的。
用法如下。\
\\1for
for(int i=0\*必要时的条件变量*\;i<n\*循环条件*\;i++\*每一轮执行的递进程序*\){
}
\\1while
int i=0;
while(i<n\*循环条件*\){
i++;
}
\\2
for(;i<k\*循环条件*\;){
}
第四章:终极环岛
达成成就:获得神秘钥匙!{ \textcolor{green} {\textbf {达成成就:获得神秘钥匙!}}}达成成就:获得神秘钥匙!
“呼!逃过一劫!”小白说道。
可惜小白是一个臭名昭著的乌鸦嘴,直接又掉进了坑里。
“A,又掉进了坑里!”
此时,一个石柱朝小白压去。
“A!”小白叫道。
题目出现了:
“小方想寄一件东西,请你计算邮资!”
来到编程题了! 快来帮他逃出(杀人)陷阱吧!
(好家伙,上一个不杀人这个来整杀人了!)
【解题环节】
邮资
相信你已经完成题目了,成功逃出了陷阱!
答案:
#include <iostream>
using namespace std;
/**/
int main(int argc,char **argv){
int a,s=8;
char b;
cin>>a>>b;
if(b=='y'){
s+=5;
}
if(a<1000){
cout<<s<<endl;
return 0;
}else{
a-=1000;
while(a>=500){
a-=500;
s+=4;
}
if(a>0){
s+=4;
}
}
cout<< s << endl;
return 0;
}
return 0
注:return 0;可以让程序提前结束。
达成成就:获得小车!{ \textcolor{green} {\textbf {达成成就:获得小车!}}}达成成就:获得小车!
"再次逃过一劫。"小白长呼一口气。
"我看到了一个小车!"
"又出现了石板!"
当
石板:
"请数出n的阶加!"
又又又来到编程题了!
快来解题吧!
jieti
\
警戒线
相信你已经完成题目了,成功获得了小车!
答案c++:
#include <iostream>
using namespace std;
int main(){
int a=0,b=0;
cin>>a;
for(int c=1;c<=a;c++) {
b+=c;
}
cout<<b;
return 0;
}
#include <iostream>
using namespace std;
int open(int n){
if(n==1){
return 1;
}else{
return n+open(n-1);
}
}
int main(){
int a=0,b=0;
cin>>a;
b=open(a);
cout<<b;
return 0;
}