目录
前言
大家好,这一篇题解主要是关于2021那届蓝桥杯的题解。
一、字符串
题目描述
给定一个字符串,然后将字符串倒序输出。
输入描述:一个字符串S(2<S长度<100)
输出描述:将字符串S倒序输出
样例输入
abc
样例输出
cba
题目解析
这道题是一个开胃菜,很简单,分分秒解答,for循环即可完成。
给两个方法,一种是string类型,一种是传统的char[]类型。
AC代码1
#include<string>//使用字符串头文件
#include<iostream>//使用输入输出流头文件
using namespace std;//使用标准名字空间
string s;//定义字符串类型变量s
int main(){//主函数开始
getline(cin,s);//整行输入字符串s
for(int i=s.size()-1;i>=0;i--){//for循环,计数器i从s的长度-1自减到0,共循环s的长度次
cout<<s[i];//输出s的i号元素
}
return 0;//主函数结束,返回0
}
AC代码2
#include<cstring>//调用C语言字符串头文件
#include<iostream>//调用输入输出流头文件
using namespace std;//使用标准名字空间
char s[100];//定义字符数组类型变量s
int main(){//主函数开始
cin.getline(s,100);//整行输入含有100个字符的字符串s
for(int i=strlen(s)-1;i>=0;i--){//for循环,计数器i从s的长度-1,自减到0,共循环s的长度次
cout<<s[i];//输出s的i号元素
}
return 0;//主函数结束,返回0
}
二、剪绳子
题目描述
一条绳子从中间剪一刀可以剪成两端绳子;如果对折1次,中间剪一刀可以剪出3段绳子;如果连续对折2次,中间剪一刀可以剪出5段绳子;那么,连续对折n次,中间剪一刀可以剪出多少段绳子?
输入描述:输入一个正整数n(2<n<20)作为绳子对折的次数
输出描述:输出一个正整数,表示对折n次后绳子中间剪一刀可以剪出的绳子的段数
样例输入
3
样例输出
9
题目解析
这是一道入门级别的题,找到公式:ans=2^n+1。
但越简单的题越是暗藏玄机,用了for循环,一算,提交:“诶?怎么TE了?”那是因为这一题推荐使用cmath中的pow函数,代码为pow(2,n)+1。
好了,相信大家都迫不及待了吧,好,上代码,这里我喜欢用函数来封装一个运算的过程,因为这样程序更结构化。
AC代码
#include<iostream>//调用输入输出流头文件
#include<cm