| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1062 人关注过本帖
标题:关于数组和指针的一道题 自定义gets函数
只看楼主 加入收藏
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
结帖率:96.88%
收藏
已结贴  问题点数:20 回复次数:4 
关于数组和指针的一道题 自定义gets函数
请定义函数实现
字符串strcpy,strlen,strcmp,strcat
和从输入流读取一行字符串(可能包含空格)的功能。
【注意】
你的程序不应该使用 string.h 头文件中的任何函数,
也不应该使用 gets、fgets 等与需求类似的输入函数。
请提交以下代码模板补全后的完整代码。
【代码模板】
// ↓↓↓请提交以下的所有内容↓↓↓
#include <stdio.h>
char* _strcpy(char* dest, const char* src) {
    // 在这里实现 strcpy
}
int _strlen(const char* str) {
   // 在这里实现 strlen
}
int _strcmp(const char* lhs, const char* rhs) {
   // 在这里实现 strcmp
}
char* _strcat(char* dest, const char* src) {
   // 在这里实现 strcat
}
char* _gets(char* str) {
   // 在这里实现 从输入流读取一行字符串(可能包含空格)
   // 你可以不考虑 EOF 的问题
}
int main() {
    char a[201],b[101],cmd[7];
    while(1) {
        _gets(cmd);
        if(_strcmp(cmd, "GETS") == 0) {
            puts(_gets(a));
        } else if(_strcmp(cmd, "STRCPY") == 0) {
            int offset;
            scanf("%d",&offset);
            getchar();
            _gets(b);
            _strcpy(a + offset, b);
            puts(a);
        } else if(_strcmp(cmd, "STRLEN") == 0) {
            printf("%d\n",_strlen(a));
        } else if(_strcmp(cmd, "STRCMP") == 0) {
            _gets(b);
            int result = _strcmp(a, b);
            printf("%d\n", result > 0 ? 1 : (result < 0 ? -1 : 0));
        } else if(_strcmp(cmd, "STRCAT") == 0) {
            _gets(b);
            puts(_strcat(a, b));
        } else {
            break;
        }
    }
    return 0;
}
// ↑↑↑请提交以上的所有内容↑↑↑
【样例输入】
GETS
Hello World!
STRCPY
6
Everyone
STRLEN
STRCMP
Hello Everyone
STRCAT
!
END
【样例输出】
Hello World!
Hello Everyone
14
0
Hello Everyone!
搜索更多相关主题的帖子: 函数 cmd gets int char 
2019-12-16 16:40
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
收藏
得分:0 
char* _gets(char* str) {
   // 在这里实现 从输入流读取一行字符串(可能包含空格)
   // 你可以不考虑 EOF 的问题
}
这个缺少的部分 求解答

我想要两颗西柚。
2019-12-16 16:41
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:20 
你的程序不应该使用 string.h 头文件中的任何函数,
也不应该使用 gets、fgets 等与需求类似的输入函数。

你的意思是只允许使用 <stdio.h> 中的 getc 和 ungetc ?
那你就这么做吧,不停的 getc,直到 EOF 或 遇到'\n'
2019-12-16 18:05
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
收藏
得分:0 
回复 3楼 rjsp
还是不懂 我再想想555

我想要两颗西柚。
2019-12-16 19:41
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
收藏
得分:0 
抄了一个大佬的代码 之后慢慢看好了

我想要两颗西柚。
2019-12-16 23:05
快速回复:关于数组和指针的一道题 自定义gets函数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020777 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved