蓝桥杯每日一练之FJ的字符串

185 阅读2分钟

「这是我参与2022首次更文挑战的第27天,活动详情查看:2022首次更文挑战

💛作者主页:静Yu

🧡简介:CSDN全栈优质创作者、华为云享专家、前端知识交流社区创建者

💛社区地址:bbs.csdn.net/forums/Jing…

第十三届蓝桥杯大赛个人赛省赛比赛将于2022年4月9日(星期六)举办,趁现在寒假的时间抓紧时间备战一下。因为博主本人报名是C/C++组,所以更新所有内容都是C/C++相关知识。题目全部都是蓝桥杯官网题库真题。今天是备战刷题的第二十天。

题目:

  FJ在沙盘上写了这样一些字符串:
  A1 = “A”
  A2 = “ABA”
  A3 = “ABACABA”
  A4 = “ABACABADABACABA”
  … …
  你能找出其中的规律并写所有的数列AN吗?

输入格式:

仅有一个数:N ≤ 26。

输出格式:

请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。

样例输入:

3

样例输出:

ABACABA

解题思路:

这道题目不难,主要还是发现题目中的规律。字母可能看的不是很清楚,我们可以用数字代替,比如

A1=1
A2=121
A3=1213121
A4=121312141213121

也就是

A1= A
A2=A1 B A1
A3=A2 C A2
A4=A3 D A3

按照上面的规律写代码就可以了。

完整代码:

#include<iostream>
#include<string>
using namespace std;

int main()
{
	int n; 
	cin >> n;
    string s;
    for(int i=0;i<n;i++)
	{
		string ss = s;
		string ch;
		ch = 'A' +i;
		s = s+ch;
		s = s+ss;
	}
	cout<<s;
}


顺便讲解一波字符串相关的知识点:

1.字符串是由若干字符组成的序列。 例如:“love”,“strong”,“1397095”,"%d\n"等,都是合法的字符串。

2.用双引号引起来的就是字符串,字符串由字符组成。

3.字符串使用%s格式化输出。

4.字符串以\0结尾,没有\0就不是字符串

5.只要是用双引号括起来的都是字符串

6.字符串的本质就是数组,一个一维数组对应一个字符串。

7.最后一个元素的值是’\0’,是字符串的技术标志。输入时系统自动加入,输出时不显示。