第 12 届蓝桥杯 C++ 青少组中 / 高级组省赛 2021 年 4 月 24 日真题(编程题前两题)
第一题:问答题 字符串(难度降低版)
题目:给定一个字符串abc,倒序输出。要求使用for循环和数组输出cba
输出:倒叙字符串
答案:
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main(){
string s="abc";
for(int i=2;i>=0;i--){
cout<<s[i];
}
return 0;
}
解题思路:
1.先写一个字符串数组(string),让其等于abc
2.再利用for循环倒叙输出
第一题 问答题 字符串(最难版)
题目:给定一个字符串,倒叙输出
输入:字符串(长度:2<S<100)
输出:倒叙字符串
答案:
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
cin>>s;
for(int i=s.length();i>=0;i--){
cout<<s[i];
}
return 0;
}
解题思路:
1.先写一个字符串(string),因为没有指定字符串等于什么,所以需要用cin,输入字符串
2.再用for循环倒叙输出。s.length()是用来计算字符串s的长度。倒序输出就是从后往前输出。
第 2题 问答题
剪绳子
【题目描述】
一条绳子从中间剪一刀可以剪成两段绳子;如果对折1次,中间剪一刀可以剪出3段绳子;如果连续对折2次,
中间剪一刀可以剪出5段绳子;那么,连续对折n次,中间剪一刀可以剪出多少段绳子?
通过编写程序,在给定绳子对折次数,计算出中间剪一刀后可剪出绳子的段数。
【输入描述】
输入一个正整数 n(2<n<20)作为绳子对折的次数
【输出描述】
输出一个正整数,表示对折n次后的绳子中间剪一刀可以剪出绳子的段数
【输入样例】
2
【输出样例】
5
答案:
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main(){
double n,m;
cin>>n;
m=pow(2,n);
cout<<m+1;
return 0;
}
解题思路:
1.通过读题可知这是一道规律题,所以我们要先找到规律
2. 2的n次方,可表示为pow(2,n)
3.最后让pow(2,n)和1相加,在输出就行