本文主要是介绍XJOI一级一段题解(g++,即C++),也可视作C++算法竞赛教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
Problem 9291 Hello OI
一 题目内容
二 新知识点
2.1 头文件
2.2 命名空间
2.3 注释
2.4 主函数
2.5 标准输出流
三 思路
四 AC代码
Problem 3566 学整数
一 题目内容
二 新知识点
2.1 变量与数据类型
2.2 标准输入流
三 思路
四 AC代码
Problem 1000 萌新关爱之-A+B Problem
一 题目内容
二 新知识点
2.1 数据类型对变量数据存储范围的限制
2.2 int类型的加、减、乘法
三 思路
四 AC代码
Problem 3568 整数除法(求商)
一 题目内容
二 新知识点
2.1 int类型的除法
三 思路
四 AC代码
Problem 3569 求余数
一 题目内容
二 新知识点
2.1 int类型的取余运算
三 思路
四 AC代码
Problem 3570 求个位
一 题目内容
二 新知识点
三 思路
四 AC代码
Problem 3571 求十位数
一 题目内容
二 新知识点
2.1 int类型的混合运算
三 思路
四 AC代码
Problem 9205 长方体表面积与体积
一 题目内容
二 新知识点
2.1 长方体的表面积和体积公式
三 思路
四 AC代码
注:使用题目超链接时,建议先打开XJOI并登录。
Problem 9291 Hello OI
一 题目内容
时间:0.2s 空间:32M
题目描述:
请你自行编写程序,输出”I LOVE OI.”(不包括引号)
输入格式:
本题无输入。
输出格式:
一行字符,为I LOVE OI.
样例输入:
无
样例输出:
I LOVE OI.
二 新知识点
2.1 头文件
在C++中,每个程序都需要一些功能才能正常运行,比如要想开平方,就得用到cmath头文件里的sqrt()。要想使用头文件,格式是#include<头文件名>。下面这个头文件包含了所有功能:
#include<bits/stdc++.h>
2.2 命名空间
对于某些特殊功能,如输入和输出,用头文件也解决不了了。这时就需要用到命名空间,其中包含许多实用功能。一般我们使用std(默认)命名空间,代码如下:
using namespace std;
注意,C++每条鱼局结束后都要加英文分号。
2.3 注释
在C++中,可用//加任意内容表示注释。例如:
//这是一条注释
注释后无需添加分号。
2.4 主函数
功能有了,但该怎样编写代码才能让电脑用上它们呢?用主函数就解决了。写法如下:
int main(){//你的运行代码return 0;
}
注意,主函数中所有代码都需要一个缩进。编程软件一般会自动缩进,如果没有自动缩进或缩进被误删,只需要按下Tab按钮即可进行一次缩进。
2.5 标准输出流
命名空间std中有一个输出的功能,格式为:
cout<<输出内容1<<输出内容2<<...<<输出内容n;
例如此题中,输出“I LOVE OI.”就可以用标准输出流输出。因为这是由一些字符组成的字符串,所以要用双引号把输出内容括起来。代码如下:
cout<<"I LOVE OI.";
三 思路
使用标准输出流输出“I LOVE OI.”。
四 AC代码
#include<bits/stdc++.h>
using namespace std;
int main(){cout<<"I LOVE OI.";return 0;
}
Problem 3566 学整数
一 题目内容
时间:0.2s 空间:32M
题目描述
小鹦鹉正在学习整数。你跟他说一个整数,他立刻就能学会。
输入一个整数,输出这个整数。
输入格式
一个整数。
输出格式
一个整数。
样例输入
3
样例输出
3
二 新知识点
2.1 变量与数据类型
通过上题,我们知道了字符串类型的存在。因为字符串类型是由字符组成的,所以存在字符类型。另外,还存在整数类型,长整数类型,单精度浮点数,双精度浮点数类型等。
变量像指向一个值的箭头,它里面可存指定数据类型的量。如定义一个整数类型的变量a:
int a;
当然,还可以给变量指定初始值。如:
int a=1;
就把整数类型变量a的初始值设定为1。
也可以在变量定义之后赋值,如:
int a;
a=1;
就是先定义了一个整数类型变量a,再将其赋值为1。
还可以一次性定义多个同一数据类型的变量,如:
int a,b;
就是定义了两个
2.2 标准输入流
这一题开始有了输入。输入的功能也包含在std命名空间中,格式如下:
cin>>输入内容1>>输入内容2>>...>>输入内容n;
注意箭头方向与标准输出流相反。
三 思路
先使用标准输入流输入一个整数(记作变量a),再输出a。
四 AC代码
#include<bits/stdc++.h>
using namespace std;
int main(){int a;cin>>a;cout<<a;return 0;
}
Problem 1000 萌新关爱之-A+B Problem
一 题目内容
时间:1s 空间:256M
题目描述
给你两个整数,要求输出这两个整数的和。
输入格式
两个整数a,b。
输出格式
一个整数.
样例输入
1 2
样例输出
3
约定
0<=a,b<=1000
二 新知识点
2.1 数据类型对变量数据存储范围的限制
在前面的练习中,我们已经接触过int类型的变量。其实它是有存储范围限制的,可存储的数从-2147483648到2147483647(包括这两个数),即从到。对于本题0<=a,b<=1000的数据范围,int还是能轻松应对的。
2.2 int类型的加、减、乘法
对于两个int类型变量a和b:
1.只要它们的和还在int存储范围内,那么就可以用a+b来表示它们的和;
2.只要它们的差还在int存储范围内,那么就可以用a-b来表示它们的差;
3.只要它们的积还在int存储范围内,那么就可以用a*b来表示它们的积。
并且可直接输出a+b、a-b、a*b,或将其存入变量内(不管它是除a、b外的一个其他变量还是a、b中的一个)。
当然,也可以进行数与变量、数与数的加、减、乘法。
三 思路
先存下a、b,再直接输出a+b的值。
四 AC代码
#include<bits/stdc++.h>
using namespace std;
int main(){int a,b;cin>>a>>b;cout<<a+b;return 0;
}
Problem 3568 整数除法(求商)
一 题目内容
时间:0.2s 空间:32M
题目描述:
输入两个整数a,b, 输出a/b的值,只保留整数部分
输入格式:
输入两个整数
输出格式:
输出一个整数
样例输入:
5 2
样例输出:
2
二 新知识点
2.1 int类型的除法
对于两个int类型的变量a和b,只要它们的商的整数部分还在int存储范围内,那么就可以用a/b来表示它们的商的整数部分(注意,只保留整数部分),并且可直接输出a/b,或将其存入变量内(不管它是除a、b外的一个其他变量还是a、b中的一个)。
当然,也可以进行数与变量、数与数的除法。
三 思路
输入a和b,输出a/b即可。
四 AC代码
#include<bits/stdc++.h>
using namespace std;
int main(){int a,b;cin>>a>>b;cout<<a/b;return 0;
}
Problem 3569 求余数
一 题目内容
时间:0.2s 空间:32M
题目描述:
输入两个整数a,b, 输出a除以b的余数,如5除以2的余数为1,10除以4的余数为2
输入格式:
输入两个整数
输出格式:
输出一个整数
样例输入:
5 2
样例输出:
1
二 新知识点
2.1 int类型的取余运算
定义整数a除以b的余数为a对b的取余运算的结果,用a%b表示。一般地,对于两个int类型的变量a和b,只要它们取余的结果还在int存储范围内,那么就可以用a%b来表示它们取余的结果,并且可直接输出a/b,或将其存入变量内(不管它是除a、b外的一个其他变量还是a、b中的一个)。
当然,也可以进行数与变量、数与数的取余运算。“取模”与“取余”同义。
三 思路
输入a和b,输出a%b。
四 AC代码
#include<bits/stdc++.h>
using namespace std;
int main(){int a,b;cin>>a>>b;cout<<a%b;return 0;
}
Problem 3570 求个位
一 题目内容
时间:0.2s 空间:32M
题目描述:
输入一个整数a, 求其个位数
输入格式:
输入一个整数
输出格式:
输出一个整数
样例输入:
102
样例输出:
2
二 新知识点
本题无新知识点。
三 思路
先根据样例来分析:102的个位是2,102%10=2。
另外,3298的个位是8,3298%10=8。
即为所求个位。
四 AC代码
#include<bits/stdc++.h>
using namespace std;
int main(){int a;cin>>a;cout<<a%10;return 0;
}
Problem 3571 求十位数
一 题目内容
时间:0.2s 空间:32M
题目描述:
输入一个整数,求其十位数
输入格式:
输入一个整数
输出格式:
输出一个整数
样例输入:
123
样例输出:
2
二 新知识点
2.1 int类型的混合运算
int类型可做混合运算,按我们小学时学过的“同级运算,从左到右,依次计算”,“先乘除,后加减”,“先算括号内”的顺序进行。取余运算的优先级与乘除相同。
三 思路
根据样例,123的十位为2。另外,1930的十位为3。
根据C++int类型除法的特性(只保留整数部分),所以该数除以10后,就可达到把个位数“消掉”的效果。再对10取余即可获取新数的个位(即原数的十位)。
综上,求十位的方法就是。
四 AC代码
#include<bits/stdc++.h>
using namespace std;
int main(){int a;cin>>a;cout<<a/10%10;return 0;
}
Problem 9205 长方体表面积与体积
一 题目内容
时间:0.2s 空间:32M
题目描述:
给出长方形的长宽高,输出长方体的表面积和体积。
输入格式:
一行三个不超过100的正整数,表示长方体的长宽高。
输出格式:
一行两个整数,表示长方体的表面积和体积,以空格间隔。
样例输入:
10 10 10
样例输出:
600 1000
二 新知识点
2.1 长方体的表面积和体积公式
设长方体的长、宽、高分别为a、b、c,则其表面积为,是求出前、上、右3个面面积之和后再乘2;体积为。
三 思路
输入a,b,c后,分别求两个公式的值后再输出,中间用空格隔开。
四 AC代码
#include<bits/stdc++.h>
using namespace std;
int main(){int a,b,c;cin>>a>>b>>c;cout<<2*(a*b+a*c+b*c)<<" "<<a*b*c;return 0;
}
这篇关于XJOI一级一段题解(g++,即C++),也可视作C++算法竞赛教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!