马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
## 过滤多余的空格
形貌
一个句子中大概有多个一连空格,过滤掉多余的空格,只留下一个空格。
输入
输入
1行ÿ
1a;
一行,一个字符串(长度不凌驾
1000),句子的头和尾都没有空格。
输出
输出
1行ÿ
1a;
过滤多个空格之后的字符串
输入样例
1 - Hello world.This is c language.
复制代码 输出样例
1- Hello world.This is c language.
复制代码 参考代码- #include<bits/stdc
- 3;
- 3;.h>
- using namespace std;
- int main()
- {
- int k;
- string a,s
- 1;&#
- 34;&#
- 34;;
- getline(cin,a);
- k
- 1;a.size();
- for(int i
- 1;0;i<k;i
- 3;
- 3;){
- if(a[i]
- 1;
- 1;&#
- 39; &#
- 39;&&a[i-
- 1]!
- 1;&#
- 39; &#
- 39;){
- s
- 3;
- 1;a[i];
- }
- if(a[i]!
- 1;&#
- 39; &#
- 39;)
- s
- 3;
- 1;a[i];
- }
- cout<<s<<endl;
-
- return 0;
- }
复制代码 ##字符串的包罗题目
形貌
现在有2个字符串a,b,请你判断它们之间的包罗关系。
若能在b串中发现a串,则称ÿ
1a;a in b。
若二者相称,则输出same。
若无包罗关系,则输出
no。
比方ÿ
1a; app和apple
则
app in apple
输入
输入2行ÿ
1a;
每行
1个字符串,最多
1000个字符,不含空格。
输出
输出
1行ÿ
1a;
字符串a和b的关系。
输入样例
1 输出样例
1输入样例 2 输出样例 2参考代码- #include<bits/stdc
- 3;
- 3;.h>using namespace std;int main(){ int k,m; string a,s; getline(cin,a); getline(cin,s); k
- 1;a.find(s,0); m
- 1;s.find(a,0); if(k!
- 1;-
- 1&&m!
- 1;-
- 1){ cout<<&#
- 34;same&#
- 34;; } else if(k!
- 1;-
- 1){ cout<<s<<&#
- 34; in &#
- 34;<<a; } else if(m!
- 1;-
- 1){ cout<<a<<&#
- 34; in &#
- 34;<<s; } else{ cout<<&#
- 34;
- no&#
- 34;; } return 0;}
复制代码 ##盘算面积(area)
形貌
小开是某小学的门生。在数学课上,小开的数学老师孟老师教会了各人梯形面积的盘算公式ÿ
1a;梯形面积
1;(上底
3;下底)*高/2。孟老师部署了多个关于梯形面积的盘算题,作为当天的家庭作业。小开在完成了标题以后,决定编写一个步伐盘算梯形面积,查验本身盘算的结果。给定梯形的上底a、下底b、高h的值(单位:厘米),请盘算输出梯形的面积s(面积:平方厘米)。
输入
一行,三个正整数a,b,h
输出
一行,一个正整数s
输入样例
1 输出样例
1提示
样例分析ÿ
1a;
面积为(
3
3;6)*5/2
1;
22,结果取商的整数部门,没有小数。
【数据规模与约定】
对于50%的数据,
1<
1;a,b,h<
1;50000。
对于
100%的数据,
1<
1;a,b,h<
1;
1000000000。
结果取商的整数部门,没有小数。
参考代码- #include<bits/stdc
- 3;
- 3;.h>
- using namespace std;
- int main(){
- long long a,b,h,s;
- cin>>a>>b>>h;
- s
- 1;(a
- 3;b)*h/2;
- cout<<s;
- return 0;
- }
复制代码 ##括号匹配
形貌
假设表达式中允许包罗圆括号和方括号两种括号,其嵌套的序次随意,如([]())或[([][])]等为准确的匹配,
[(])或([]()或(()))均为错误的匹配。
本题的使命是查验一个给定表达式中的括号是否准确匹配。
输入一个只包罗圆括号和方括号的字符串,判断字符串中的括号是否匹配,匹配就输出“OK”,不匹配就输出“Wrong”。
输入
一行字符,只含有圆括号和方括号,括号个数小于 255。
输出
匹配就输出一行文本“OK”,不匹配就输出一行文本“Wrong”。
输入样例
1 输出样例
1- #include<bits/stdc
- 3;
- 3;.h>
- using namespace std;
- int main() {
- //freopen(&#
- 34;.in&#
- 34;,&#
- 34;r&#
- 34;,stdin);
- //freopen(&#
- 34;.out&#
- 34;,&#
- 34;w&#
- 34;,stdout);
- stack<char> s;
- string a;
- cin>>a;
- int i,j;
- for(i
- 1;0; i<a.size(); i
- 3;
- 3;) {
- if(a[i]
- 1;
- 1;&#
- 39;(&#
- 39;||a[i]
- 1;
- 1;&#
- 39;[&#
- 39;) {
- s.push(a[i]);
- }
- if(a[i]
- 1;
- 1;&#
- 39;)&#
- 39;) {
- if(s.empty()) {
- cout<<&#
- 34;Wrong&#
- 34;<<endl;
- return 0;
- }
- if(s.top()
- 1;
- 1;&#
- 39;(&#
- 39;) {
- s.pop();
- }
- }
- if(a[i]
- 1;
- 1;&#
- 39;]&#
- 39;) {
- if(s.empty()) {
- cout<<&#
- 34;Wrong&#
- 34;<<endl;
- return 0;
- }
- if(s.top()
- 1;
- 1;&#
- 39;[&#
- 39;) {
- s.pop();
- }
- }
- }
- if(s.empty()) {
- cout<<&#
- 34;OK&#
- 34;<<endl;
- } else {
- cout<<&#
- 34;Wrong&#
- 34;<<endl;
- }
- //fclose(stdin);
- //fclose(stdout);
- return 0;
- }
复制代码 ##汉诺塔
形貌
有三根相邻的柱子,标号为a,b,c,a柱子上从下到上按金字塔状叠放着n(n <
1;
15)个差异巨细的圆盘,你可以借助b柱子,把全部盘子一个一个移动到柱子c上,而且每次移动同一根柱子上都不能出现大盘子在小盘子上方,请你输出移动的步调。
输入
输入
1行ÿ
1a;
第
1行ÿ
1a;
1个整数n,
1<
1; n <
1;
15。
输出
输出
1行ÿ
1a;
第
1行ÿ
1a;多少行,体现移动的步调,格式参考样例
输入样例
1 输出样例
1输入样例 2 输出样例 2- 1:a->c2:a->b
- 1:c->b
- 3:a->c
- 1:b->a2:b->c
- 1:a->c
复制代码- #include<bits/stdc
- 3;
- 3;.h>using namespace std;void hnt(int n,char a,char b,char c){ if(n
- 1;
- 1;0){ return ; } hnt(n-
- 1,a,c,b);//n-
- 1 个盘子,从a移动到b cout<<n<<&#
- 34;:&#
- 34;<<a<<&#
- 34;->&#
- 34;<<c<<endl;//第n个盘子,从a移动到c hnt(n-
- 1,b,a,c);//n-
- 1 个盘子,从b移动到c } int main(){ int n; cin>>n; hnt(n,&#
- 39;a&#
- 39;,&#
- 39;b&#
- 39;,&#
- 39;c&#
- 39;);//n个盘子从a移动到c return 0;}
复制代码
12
3.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金 |