鱼C论坛

 找回密码
 立即注册
查看: 2263|回复: 3

帮帮我

[复制链接]
发表于 2021-1-6 14:46:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
实验11-1-6 指定位置输出字符串 (20分)
本题要求实现一个函数,对给定的一个字符串和两个字符,打印出给定字符串中从与第一个字符匹配的位置开始到与第二个字符匹配的位置之间的所有字符。

函数接口定义:
char *match( char *s, char ch1, char ch2 );
函数match应打印s中从ch1到ch2之间的所有字符,并且返回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\n", str);
    scanf("%c %c", &ch_start, &ch_end);
    p = match(str, ch_start, ch_end);
    printf("%s\n", 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 )
{
        int i,flag=1,k=0;
        char t[100];
        char *T;
        for(i=0;s[i]!='\0';i++)
        {
            if(s[i]==ch1)
                {
                        T = &s[i];
                        for(int j=0;s[i+j]!='\0';j++)
                        {
                                t[k++]=s[i+j];
                                if(s[i+j]==ch2)
                                {
                                        flag=0;
                                        t[k]='\0';
                                        break;
                                }
                        }
                }
                if(flag==0)        break;
        }
        puts(t);
        printf("\n");
        return T;
}//为什么我的第二个样例输出错误,能帮我改一下吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-6 14:48:42 | 显示全部楼层
帮帮我
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-6 14:56:19 | 显示全部楼层
来看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-6 15:17:47 | 显示全部楼层
char * match(char * s , char ch1 , char ch2)
{
        int i , r                                                   ;
        for(r = 0 ; s[r] && s[r] != ch1 ; r ++)                     ;
        for(i = r ; s[i] && s[i] != ch2 ; i ++) printf("%c" , s[i]) ;
        if(s[i]) printf("%c" , s[i])                                ;
        printf("\n")                                                ;
        return & s[r]                                               ;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-10 11:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表