【第二届蓝桥杯】反转串

题目:反转串


我们把“cba”称为“abc”的反转串。

下面的代码可以把buf中的字符反转。其中n表示buf中待反转的串的长度。请补充缺少的代码。
把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。
void reverse_str(char*buf, int n)
{
    if(n<2) return;
    char tmp = buf[0];
    buf[0] = buf[n-1];
    buf[n-1] = tmp;
    _______________________________;

}


答案:reverse_str(buf+1, n-2)


C++代码:

#include <iostream>
using namespace std;
void reverse_str(char*buf, int n)
{
    if(n<2) return;
    char tmp = buf[0];
    buf[0] = buf[n-1];
    buf[n-1] = tmp;
    reverse_str(buf+1, n-2);
} 
int main() {
	char buf[11] = {'a','d','c','d','e','f','q','u','a','o'};
	reverse_str(buf, 10);
	cout << buf; 
	return 0;
}


第二届蓝桥杯部分试题与答案

蓝桥杯是中国最具影响力的计算机竞赛之一,旨在选拔和培养优秀的计算机人才。14届蓝桥杯python模拟赛第二期真题是该竞赛的一个示例题目,以下是对该题目的回答。 题目要求参赛选手编写一个程序,实现以下功能:输入一个字符,判断该字符是否是回文。回文是指正读和反读都一样的字符。如果输入的字符是回文,则输出“Yes”,否则输出“No”。 要实现这个功能,可以采用以下步骤: 1. 获取用户输入的字符。 2. 使用Python的切片操作,将字符从尾到头进行反转,得到一个新的字符。 3. 判断新字符是否和原字符相等。 4. 根据判断结果输出“Yes”或“No”。 以下是一个可能的程序实现: ```python # 获取用户输入的字符 s = input("请输入一个字符:") # 反转字符 reverse_s = s[::-1] # 判断是否是回文 if s == reverse_s: print("Yes") else: print("No") ``` 上述程序中,我们先使用`input()`函数获取用户输入的字符,并将其保存在变量`s`中。然后,我们使用切片操作`s[::-1]`得到一个新的字符`reverse_s`,该字符是原字符`s`的反转。最后,我们判断`s`和`reverse_s`是否相等,如果相等,则输出“Yes”,否则输出“No”。 通过这个简单的程序,我们可以判断一个字符是否是回文。这个问题虽然简单,但在实际的计算机编程中,对字符的处理是非常常见的任务,因此掌握这种处理方式对于进一步提升编程能力是非常有帮助的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Homilier

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值