字符串练习题

11、求子字符串”cdf”在父串中出现的次数“11cfbks34cdf2ghacdf11”

#include <stdio.h>
#include<string.h>
int main(int argc, const char * argv[]) {

    char str[40] = "11cfbks34cdf2ghacdf11";
    char str1[40] = "cdf";
    int count = 0;
    int i = 0, j = 0;
    while(i < strlen(str))
    {
        if(str1[j] == str[i])
        {
            if(j == (int)strlen(str1)- 1 )
                count++;
            else
                j++;           
        }
        else
        {
            j = 0;            
        }          
        i++;
    }
    printf("子串cdf在父串中出现的次数为:%d次\n",count);    
    return 0;
}

这里写图片描述

10、自定义函数判断字符串是否是回文? 如:asdfdsa是回文、asds不是回文

*#include <stdio.h>*
*#include<string.h>*
int main(int argc, const char * argv[]) {
    char str[40];
    scanf("%s",str);
    int i = 0;
    int len = (int)strlen(str);
    while(i < len)
    {
        if(str[i] == str[len-1])
        {
            i++;
            len--;
        }
        else
        {
            printf("不是回文!\n");
            break;
        }        
    }
    if(i >= len)
        printf("是回文!\n");
   return 0;
}

这里写图片描述
这里写图片描述
//8、自定义函数连接字符串?

*#include <stdio.h>
*#include<string.h>**
char* conn(char *dest,const char *src);
int main(int argc, const char * argv[]) {
    char *str = "world";
    char dest[40] = "hello ";
    conn(dest,str);
    printf("连接后的字符串为:%s\n",dest);
    return 0;
}
char* conn(char *dest,const char *src)
{
    char *add = dest+strlen(dest);
    while((*add++ = *src++) != '\0');
    return dest;
}

这里写图片描述

### Python 字符串练习题示例 #### 输出字符串 为了熟悉基本的字符串输出功能,在Python中可以简单地使用`print()`函数来显示指定的内容。 ```python message = "欢迎来到Python世界" print(message) # 显示消息给用户[^1] ``` #### 判断子串关系 对于两个由用户输入字符串,程序能够检测其中一个是否为另一个的子串,并给出相应的提示信息。 ```python s = input("请输入第一个字符串:") s1 = input("请输入第二个字符串:") if s.find(s1) >= 0: print(f"{s1} 是 {s} 的子串") elif s1.find(s) >= 0: print(f"{s} 是 {s1} 的子串") else: print("两者互不包含") ``` 此段代码利用了`find()`方法代替原始逻辑中的`count()`, 更加直观地表达了查找子串的需求[^2]。 #### 处理并验证回文结构 接收来自用户的任意长度的一组字符序列作为输入数据源;接着执行一系列预处理步骤——统一大小写标准、剔除非字母数字成分;最后评估所得净化版文本是否满足正读反读一致性的条件即构成所谓的“回文”。 ```python import re text = input('请输入一段文字:') processed_text = ''.join(re.findall(r'[a-zA-Z0-9]', text.lower())) is_palindrome = processed_text == processed_text[::-1] result_message = f'经过处理后的字符串 "{processed_text}" {"是" if is_palindrome else "不是"} 回文' print(result_message) ``` 这段代码引入了正则表达式的概念用于筛选有效字符,并采用切片技巧轻松完成逆序比较操作[^3]. #### 使用转义字符打印特殊格式的信息 当涉及到需要展示带有引号或其他控制符号的文字时,则可以通过适当运用转义序列达成目标效果: ```python print('"hello"') print("guido's") print("\"hello guido's python\"") ``` 上述例子展示了三种不同方式下的正确语法应用实例,确保所期望的结果得以呈现于终端界面之上[^4]. #### 将二进制字符串转化为整型数值 考虑到计算机内部存储形式的特点以及实际应用场景下可能遇到的数据交换需求,掌握如何把特定编码体系下的位模式解释为目标类型的技能显得尤为重要。这里提供了一个简单的案例说明怎样借助内置函数快速实现这一过程: ```python binary_str = '1101' decimal_value = int(binary_str, base=2) output_msg = f'{binary_str}(bin) 转换成十进制等于 {decimal_value}' print(output_msg) ``` 该片段清晰地体现了从一种计数体制到另一种的有效转变机制,同时也再次强调了Python语言简洁而强大的特性[^5].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值