• 实验11-1-6 指定位置输出字符串 (20分)


    本题要求实现一个函数,对给定的一个字符串和两个字符,打印出给定字符串中从与第一个字符匹配的位置开始到与第二个字符匹配的位置之间的所有字符。

    函数接口定义:

    char *match( char *s, char ch1, char ch2 );
    
     

    函数match应打印s中从ch1ch2之间的所有字符,并且返回ch1的地址。

    裁判测试程序样例:

    #include <stdio.h>
    
    #define MAXS 10
    
    char *match( char *s, char ch1, char ch2 );
    
    int main()
    {
        char str[MAXS], ch_start, ch_end, *p;
    
        scanf("%s
    ", str);
        scanf("%c %c", &ch_start, &ch_end);
        p = match(str, ch_start, ch_end);
        printf("%s
    ", p);
    
        return 0;
    }
    
    /* 你的代码将被嵌在这里 */
    
     

    输入样例1:

    program
    r g
    
     

    输出样例1:

    rog
    rogram
    
     

    输入样例2:

    program
    z o
    
     

    输出样例2:

    (空行)
    (空行)
    
     

    输入样例3:

    program
    g z
    
     

    输出样例3:

    gram
    gram
    代码:
    char *match( char *s, char ch1, char ch2 ) {
        char *t = "";//初始空串
        int i = 0,c = -1;
        while(s[i] && s[i] != ch1) i ++;
        if(s[i] == ch1) {
            t = s + i;
            c = i;
        }
        while(s[i] && s[i] != ch2) i ++;
        if(s[i] != ch2) i --;//别多了末尾的0
        if(c != -1) {
            while(c <= i) putchar(s[c ++]);
        } 
        putchar('
    ');
        return t;
    }
  • 相关阅读:
    DOS 错误代码
    WINRAR 建立批处理备份文件
    clear.bat
    continue break
    播放dll中的wav声音
    BAT删除自身del 0
    bat 延时10秒自动关闭自己bat
    产生随机数
    RemoveDirZ.bat
    DELPHI中取整数的方法
  • 原文地址:https://www.cnblogs.com/8023spz/p/12241096.html
Copyright © 2020-2023  润新知