首页 > 编程语言 >程序设计题

程序设计题

时间:2024-05-06 21:23:18浏览次数:31  
标签:字母 char StrB 字符串 程序设计 StrA include

设计一程序实现功能,处理字符串A,处理规则是:只要B字里面有的字母,不分大小写,一律从A 字符串中删掉。


image

/*************************************************
 *
 *   file name:Pro_StuInfo.c
 *   author   :[email protected]
 *   date     :2024/05/06
 *   function :设计一程序实现功能,处理字符串A,处理规则是:只要B字里面有的字母,不分大小写,一律从A 字符串中删掉。
 *                   (1)请画出此算法的流程图(9分)
 *                   (2)请用C语言编写出对应的代码(20分)
 *   note     :None
 *
 *   CopyRight (c) 2024    [email protected]    All Right Reseverd
 *
 **************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

/*************************************************
 *
 *   函数名称:func
 *   函数功能:将字符串逆序输出
 *   函数参数:
 *            @StrA:字符串A
 *            @StrB:字符串B
 *   返回结果:删除B中字母后的字符串A的地址
 *   注意事项:None
 *   函数作者:[email protected]
 *   创建日期:2024/05/06
 *   函数版本:V1.0
 **************************************************/

char *DelSpecifiled_Str(char *StrA, const char *StrB)
{
    int i, j;
    for (i = 0; StrB[i]; i++) // 遍历字符串B
    {
        // 如果不是字母则跳过本次循环
        if ((StrB[i] < 'A' || StrB[i] > 'Z') && (StrB[i] < 'a' || StrB[i] > 'z'))
        {
            continue;
        }
        for (j = 0; StrA[j]; j++) // 遍历字符串A
        {
            if ((StrA[j] < 'A' || StrA[j] > 'Z') && (StrA[j] < 'a' || StrA[j] > 'z')) // 如果不是字母则跳过本次循环
            {
                continue;
            }
            if (StrA[j] == StrB[i] || StrA[j] == StrB[i] + 32 || StrA[j] == StrB[i] - 32)
            {

                for (int m = j; StrA[m]; m++)
                {
                    StrA[m] = StrA[m + 1];
                }
                j--;
            }
            else
                continue;
        }
    }
    return StrA;
}

int main(void)
{
    char A[] = "helloworlD";
    char B[] = "Ld";
    printf("%s\n", DelSpecifiled_Str(A, B));
    return 0;
}

运行结果
image

注意:
在主函数中,如果使用 char* 定义字符串,调用函数时会出现段错误!

标签:字母,char,StrB,字符串,程序设计,StrA,include
From: https://www.cnblogs.com/bell-c/p/18175965

相关文章

  • 2024“图森未来杯”程序设计邀请赛
    https://voj.mobi/contest/242/problems,密码2024ecnutsolA-调和与折中#include<bits/stdc++.h>usingnamespacestd;usingi32=int32_t;usingi64=longlong;usingvi=vector<int>;i32main(){ ios::sync_with_stdio(false),cin.tie(nullptr);......
  • 浙大版C语言程序设计习题11-17
    点击查看代码typedefstructNODE{intdata;structNODE*next;}NODE,*Linkedlist;//初始化头节点voidInit(Linkedlist&L){L=(NODE*)malloc(sizeof(NODE));L->next=NULL;}//尾插法创建链表LinkedlistCreateFromRear(LinkedlistL){NODE*rear=L;for......
  • 【排课小工具】排课程序设计与实现
    课表的完整性意味着,可分配的节点的数量大小等于课表周数的累加和大小,为了进行完整性检测我需要两个对象:课表模板以及课程对象,从课表模板中获取可分配的节点数,从课程对象中获取该课程的上课周次。用户要求每个班级的课表模板相同,这使得完整性检测容易很多。分级填充需求主要和课程......
  • 【排课小工具】排课程序设计与实现
    课表的完整性意味着,可分配的节点的数量大小等于课表周数的累加和大小,为了进行完整性检测我需要两个对象:课表模板以及课程对象,从课表模板中获取可分配的节点数,从课程对象中获取该课程的上课周次。用户要求每个班级的课表模板相同,这使得完整性检测容易很多。分级填充需求主要和课程......
  • C语言程序设计——字符串典型题练习
    1、计算一个字符串中最大的重复子串的字符的数量/********************************************************************* name : CalSubStrMaxCnt* function:计算一个字符串中最大的重复子串的字符的数量* argument:* @str:需要查找的字符串的地址* * ret......
  • XMU《UNIX 系统程序设计》第五次实验报告(编制模拟“五个哲学家”问题的程序)
    想知道第三、四次实验去哪儿了吗?我也想知道。实验五编制模拟“五个哲学家”问题的程序一、实验内容描述编制模拟“五个哲学家”问题的程序目的学习和掌握并发进程同步的概念和方法。要求程序语法philosopher[-t<time>]<time>是哲学家进餐和沉思的持续时间值,......
  • XMU《UNIX 系统程序设计》第六次实验报告(信号处理)
    实验六信号处理完整程序可以在这里下载:点击下载。一、实验内容描述实验目的学习和掌握信号的处理方法,特别是sigaction,alarm,sigpending,sigsetjmp和siglongjmp等函数的使用。实验要求编制具有简单执行时间限制功能的shell:myshell[-t<time>]这个测试程序的功......
  • XMU《UNIX 系统程序设计》第二次实验报告
    一、实验内容描述实验目的掌握与文件和目录树有关的系统调用和库函数。实验要求编写程序myfind命令语法myfind<pathname>[-comp<filename>|-name<str>...]命令语义(1)myfind<pathname>的功能除了具有与程序4-7相同的功能外,还要输出在<pathname>目录子树之下,文......
  • 20231325 贾罗祁 实验三《Python程序设计》实验报告
    20231325贾罗祁2023-2024-2《Python程序设计》实验三报告课程:《Python程序设计》班级:2313姓名:贾罗祁学号:20231325实验教师:王志强实验日期:2024年4月17日必修/选修:公选课1.实验内容创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套......
  • 2024团体程序设计天梯赛——赛后总结
    2022年135分2023年164分感觉还是挺失望的,本来很稳的国三的就这样丢了,不过也是菜是原罪。一是对于读题的反思,L1-3,L1-4读题不认真导致直接白白被卡20分钟左右,还搞心态,后面的题目基本都没有一遍仔细地看完过。以后的题目尽量先把全部看一遍,然后再仔细看一遍题目部分(不看背景了),不......